Buying or creating software

AKA

  • Use or develop

Where the buying/using is either some product to buy or open source

The problem

  • When creating a system or service, it is compromised of libraries, technologies or services (http, database etc)

  • These can be either built by the creators of the systems or service, or bought/rented from a vendor or used from open source

  • There is a trade off to either buy or creating this component that you need, and needs to be thought about carefully

    • There are a lot of factors not only the idea of buy/using or creating, but the domain, the business, the current setup (tech/political/economic/deadlines etc) to consider

  • Software is meant to help you achieve your goals in a more economic and effective way

    • whether that is building it or creating it, is dependent on research, prediction, expertise etc

  • An example would be a business owner doing their own accounts or outsourcing it to an accountant

    • For a small business, then doing it yourself might be the best thing

      • as it is simple, cost less money, not much time spent

      • You may need some tools to use like excel or accounting product

    • For a large business, then hiring an accountant or contracting a accountant for a set time is the best thing

      • Big business means more stuff to do, and less time to do the accounts, time spent doing it is too much when other areas might need you or other staff, the types of accounting that needs to be done is beyond your scope of expertise, the accounting that needs to be done has to be done by a qualified accountant

Buying a solution/component/service

Benefits

Negatives

  • functionality is limited, the bought solutions cater for the majority and not all your needs will be met

  • Probably have to buy into how it is used, which might go against how you use it

  • Integrating this can be nightmare, takes time and money

  • Time to go through procurement, security audits etc, time could have been spent creating it

  • It could have bugs, which do not get fixed (nor fixed in time), and thus workarounds are needed

  • Any problems with it, can lead to having to rely on the products customer support to find a fix or devs to add a feature, both may take a long time and costs

  • This can be forced upon you, and is not the correct solution for what you need

  • This can be bought, cause of features which are not needed or looks cool, but is not needed, thus budget is eaten up

Using open source as a solution/component/service

Benefits

Negatives

Creating a solution/component/service

Benefits

Negatives

  • It take longer than expected

  • It will need to be owned, maintained, extended etc

  • It can cost more than expected

  • The solution might not be what was required, or used as required

  • If not careful, if the creation is siloed then when the creator leaves and the component is in use, it could be a problem maintaining it, especially if not created correctly

Half way house

  • This is to buy customizable software

    • This is supposed to give you the best of both worlds

    • But can end up with the worst of both worlds if not careful

  • https://www.quora.com/Why-would-an-organization-consider-building-its-own-software-application-if-it-is-cheaper-to-buy-one

  • https://www.quora.com/Should-you-build-or-should-you-buy-software

  • https://twitter.com/nicolefv/status/1491954969678782465?t=_9M3NVWmQmzfj100f3WMAA&s=19

Last updated