Bespoke, or custom, software is created for a specific organisation or a specific user. At the other extreme of the spectrum we find off-the-shelf software (COTS), both paid for and free.
Other contrasting types of software include open source software, software as a service (SaaS), application platforms and, increasingly, low or zero code solutions.
Each of these has their merits and drawbacks; understanding when to deploy one, or several of them in combination, is a key skill for any executive.
While it is possible to change approach, once a system has been in real use the ease with which to change generally diminishes over time. This is due to the inherent nature of change, not only the technical migrations but also the process and people change usually required alongside.
So, why should you buy bespoke software?
The key advantage in creating bespoke software is that the organisation or individual gets exactly the software that they need to support their objectives. This should result in the organisation operating as efficiently as possible, as they do not need to bend, or break, their processes in order to match the technology that supports them. It should lead to intuitive, user focussed, software that is easily picked up by employees. This software should provide the organisation with a competitive advantage as a result.
Further incentives for building bespoke are:
- The purchaser should have complete control over the software. That means that modifications to the software are only done when requested, features won't be deprecated or removed, there are no competing priorities, there is less of an issue with the supplier disappearing, and the purchaser retains full ownership of the IP that the software generates.
- This also means that the purchaser only needs to pay for what they actually require - they are not paying for features that they won't use.
- In the long term, and sometimes in the shorter term, cost can be cheaper. Where you expect large scale use it can be cheaper to build your own as the cost increases of other software, particularly SaaS software, may scale linearly based on the usage. You would expect the cost of the bespoke software to increase marginally but only to cope with the increased difficulty during development.
- The process of building bespoke software can, in of itself, be very beneficial to a company. The extraction of requirements, the documenting thereof and the analysis of process required to build software can highlight inefficiencies and result in improvements that would not have been made otherwise.
- The final advantage of bespoke software is the increased agility that it affords the organisation. Being able to respond to change quickly, without being at the whim of the software provider, allows businesses to be flexible on their terms.
What disadvantages does bespoke software development have?
The primary disadvantage with bespoke software development is the initial cost. Hiring a quality software company is not a cheap endeavour. Similarly, hiring an internal team is fraught with danger, especially if you lack experience in this area.
One of the key risks with bespoke development is the "version 1" problem. That is, as the first user of the software, you may discover more issues than with an existing software package that has effectively been tested by other users already. Of course, the quality is very dependent on the quality of the supplier and the software that they build.
What factors should you consider in making a decision?
When weighing up whether to build software the following factors should be considered:
- Is there an existing product - if not, then building is your only option. The key then is how bespoke?
- Cost benefit analysis. There are multiple factors here but the key components are:
- Will the software provide a competitive advantage in a core activity of the organisation?
- Is the scale large enough that an efficiency improvement outweights the cost?
- Does the software allow me to scale in ways that I couldn't without owning it?
- Established process. If the process or service is an established one, that generates value already, then building software specifically for it will make sense. For new offerings though, one should generally consider whether testing the new offering requires the larger up-front cost or if the offering can be tested in a cheaper way. It may be less optimal to start with but can enable the business to "fail faster".
- Alignment with core activity - increasingly organisations look to focus on their core services and standardise their auxiliary functions. For example, building a bespoke HR platform for an organisation that is an e-commerce company is probably unnecessary when many HR platforms can be purchased off the shelf.
- Agility - how likely is it that the software will need to change. Is that change externally or internally driven? How would an off-the-shelf or SaaS supplier react to the same change?
- How standardised is the software going to be? There are numerous processes that are similar across all types of business. If creating bespoke software does not result in an advantage then a standard piece of software should be cheaper and sufficient for the task.
More and more, building bespoke software does itself mean different things and the outputs can vary wildly.
Zero or low code platforms can enable the development of fairly simple bespoke pieces of software. For some use cases that might be the right path to choose, or it could be the stepping stone to validating that a custom development is the correct choice.
The cost of generating bespoke software is also decreasing. The ability to leverage APIs and services in the cloud can radically reduce the amount of code required, as can the use of open source software.