In this post, we are going to look briefly at some of the advantages of custom software. This is in contrast to using off-the-shelf software. Of course, there are positives and negative of both types of software. However, this post just aims to highlight the forgotten benefits of custom software and is not a full throttle comparison of the two – that would need a very lengthy article!
So, I’ve just mentioned, there are two “types” of software that IT decision makers must choose between, custom and off-the-shelf software. Before we go any further, I’ll clarify the meaning of both of these terms. Custom, or bespoke software, is software made to meet a specific set of requirements and is typically developed and used by a single client. Commercial-off-the-shelf software, frequently referred to as COTS software, is a different model, it is software that can be customised to fit to the requirements as best as possible.
The Cost of COTS
In many cases both types are suitable routes to having the desired software and off-the-shelf software is usually considered to be the best route as it is typically the cheapest and fastest option and therefore is looked upon more favourably by budget holders.
A word of warning here to be careful when judging on cost alone.
The requirements, both functional and non-functional must be honoured by the end software product. If not, it can lead to significant concessions, resulting in a different product and as a result one that is not the best fit for the business.
Furthermore, it is not necessarily the case that a custom software system is more expensive. There are a number of factors to consider with off-the-shelf software. For example, licence costs may be low cost initially, but may rise steeply over time depending on the volume of seats required. Also, customisation costs can escalate, particularly if the system is popular and there is contention for technical expertise. Thirdly, as mentioned before, the requirements are important, and not achieving the requirements may have an economic impact. Consider system performance, if the COTS software is sluggish there will be an economic impact caused by a reduction in productivity.
Get the perfect fit
So, on to some of the main advantages of custom software.
All software use cases can be met by custom software. So, whatever the need, building the software from scratch can always deliver it.
All requirements can be met by custom software, so you get a perfect fit! This means the software developed supports the business processes and not the other way around. Making a business process adapt to fit with software usually causes operational issues.
Custom software gives you full control over requirements, particularly during its maintenance lifetime. This leads to innovation and opens the door to doing something that your competitors are not doing and gain an advantage.
Finally, it is far easier to re-architect custom software. Although it is never a trivial matter, COTS systems are more rigid, particularly cloud-hosted SaaS systems. Re-architecting a solution may be required to take advantage of new technical innovations.
The best of both worlds?
As a final thought, and to bring some balance between the two types of systems, it is worth considering a middle ground. System interoperability is now a mainstay of software architecture and modern COTS systems are open to communicate with other systems. This is through the use of Application Programming Interfaces better known as APIs and in particular web services. APIs allow systems to communicate over the internet or office network to invoke functionality and to share data. APIs make it possible for companies to buy off-the-shelf-systems and then by developing custom software, they can add an “innovation layer” on top, or to fill in any gaps in business processes.
You've read about a few advantages and other considerations to remember if you are faced with a strategic decision between custom software or an off-the-shelf solution.