Some thoughts on buy vs build
One of the critical decisions taken when implementing software is the decision to build or buy.
I have written elsewhere, about the approach I take on this, influenced by a course given by Dan Remenyi. He argues, and I agree that one needs to understand the competitive value of the process being undertaken and the extent to which software can I add to or at the least not minimise that value. Where a system’s role is something that’s required irrespective of value and/or is a sectoral compliance function it is best to buy the software; this it would seem is doubly true of accounting software as not only does it need to satisfy the organisation, but they will need auditors also who have been known to refuse work on the basis of an unfamiliarity with the software in use. Remenyi also argues that if the decision to buy is correct then the optimum process for which the software was designed should be adopted.
One of the huge advantages of buying software is that you outsource maintenance. Maintenance is driven by two factors the first being the constant elimination of error and technical debt and the second being the creation of new functionality to meet market challenges be they commercial or compliance.
Another means of sharing the maintenance costs of software is to adopt open source software. While much of this is supported on a commercial basis, the level of effort invested in software maintenance for open-source software (or even 3rd party proprietary software) is far greater than that which a company can afford.
Some argue that there is value in building software and keeping it secret. To me this is only true if you don’t want the process to be copied. Some also argue but there is an opportunity cost which is lost if one does not monetise one’s software and offer it to the market. In my view companies make money by being good at something, and if that is not software authorship and marketing then they should leave it to someone else. The potential profit from such software sales is risky. A key goal for open sourcing software is to share the maintenance and development costs. Most companies should be making money by doing something else.
Open-sourcing one’s software is not exclusively an act of altruism.
It’s only worth keeping secrets for a good reason.
In summary, you must understand the value that software offers to the company or organisation, only then can the decision to build versus buy be taken and decisions to adopt or contribute to the open-source commons.
Originally published at https://www.linkedin.com.