Now that you have decided that your organisation needs to adopt a software solution to support your business, your customers, and/or increase your productivity (or all 3!), the next decision might be the most complex one of all. At its core, the decision is going to be between adopting an existing “generic” solution from an established vendor, or to opt to start with a blank page and build software specific to your needs from the ground up. Often these 2 strategies are described as a Commercial Off-The-Shelf (COTS) versus Custom (or Bespoke) Software Development.
Firstly, it is very important to acknowledge that there is no “right” answer to this question. The requirements, aspirations and budgets of different organisations vary widely. To successfully tackle it, we need to navigate through the pros and cons of the alternatives. Let’s have a closer look at the choices.
COTS
For some, the software they are looking for will support only one part of their business processes in relative isolation. In many cases, the rules and requirements associated with that process are strict and mandatory. Consider, for example, a standard General Ledger Accounting System. If you are looking for an Accounting solution, there may be little opportunity or need to customise how your accounts are managed – your accounting package must maintain records in compliance with legal requirements, and the market is well-served with established and mature vendors who satisfy these needs. You may need interoperability with your other systems, and often these vendors offer this type of functionality as a relatively inexpensive add-on (assuming your other systems are well-known offerings). The other advantage of a COTS solution like this is that the vendor is likely quite responsive to legislative and compliance changes, offering timely upgrades to take them into account. To a large extent, this insulates you from the need to make constant changes to your base systems. And, because a COTS vendor is spreading the development and maintenance costs of their product across all of their clients, the up-front savings over custom development can make the case a fairly compelling one. Some COTS vendors support the customisation of their offerings, and this can be a good middle ground between “vanilla” COTS and a full-blown bespoke solution.
There are potential disadvantages to a COTS solution, though. Adopting such a solution requires you to place your faith in the quality and stability of the vendor’s business. How good is their support, for instance? Since a vendor needs to produce a solution that meets MOST of the needs of MOST of their clients, they might not be open to modifying their solution to meet your specific requirements unless they see evidence that it would be attractive to a significant portion of their other clients. Adopting a COTS solution can sometimes require you to change your business practices to match the needs of the software (rather than the other way around), and you need to be prepared for the situation where a new version needs you to do so regularly. COTS solutions are often provided on a subscription licensing basis, so there is always the possibility of unforeseen cost increases. If the vendor is at any point acquired by another entity or ceases to trade, you may be forced into “changing horses mid-river”, absorbing the cost and effort of unexpectedly having to rejig your systems to accommodate an alternative solution with little or no notice.
Pros | Cons |
---|---|
Often more cost effective initially | Reliance on a 3rd party vendor |
Built-in support from vendor | Limited influence on functional\interoperability improvements |
Automatic updates in response to changes | Business processes must match software |
Access to user community in some cases | Licensing costs subject to change |
Custom Software Development
By their very nature, custom software is perfectly tailored to your business’s needs. You alone control the specifications and features of your application. If the purpose of the software that you have in mind is to create a holistic, integrated system that serves every part of your business’s workflow, developing a custom piece of software can represent a strategic investment resulting in a competitive advantage for you over others in your market. Some take that idea a step further, and consider white-labelling parts of their custom software to others, creating a completely new revenue stream.
Custom software development also represents a significant Intellectual Property asset for your organisation. It can encapsulate and support innovation that makes you different to your competitors and provides your customers with features that are unmatched in your market.
While the up-front costs of custom software development is nearly always significantly higher than that of implementing a COTS solution, that is not the entire equation. Over time, you need to consider the licensing costs of a COTS solution. Is your COTS solution licensing based on the number of users within your organisation, the number of transactions that you perform, or some other size metric? If so, what happens to that licensing cost when you grow? With a custom software development, your per-user costs can be contained, as you are using your own systems.
Pros | Cons |
---|---|
Exact match to your requirements | Higher initial investment |
Creation of Intellectual Property asset/competitive advantage | Effort required to define initial functionality and subsequent enhancements |
Potential for resale/licensing revenue streams | No automatic updates |
No (or limited) recurrent licensing costs | No support outside of what you provide |
The Choice
As we mentioned at the outset, there is no right or wrong answers to this choice. The best strategy will depend on your needs and aspirations for the software solution, and that will vary considerably from company to company.
At its simplest, a good rule of thumb when considering custom software development, and one that is widely agreed by the industry to be valid, is the 80/20 rule. If an available COTS solution affordably delivers 80% of the functionality you require for 20% of the cost of developing an alternative from scratch, it is well worth considering. Providing that you understand and accept the risks and have mitigation strategies in place, this is a completely legitimate, and potentially cost-saving strategy.
If, however, you see your software as being mission-critical and strategic to your organisation’s growth and development, and need control of its feature set and licensing, an investment in custom software may be a good choice. There are many successful organisations who have made this investment in their intellectual property, and have gone on to realise great benefits from doing so. If you are prepared to invest the financial and organisational capital necessary to create a completely new software solution, you may find custom software development suits you.
Choosing Your Development Partner
Whether you have decided that custom software is right for you or that modification of an existing COTS system is a better fit, you need to decide who you can trust to develop it? The choice of developer is a crucial one.
Do they have a track record of delivering solutions like yours? Do they have the resources and know-how to deliver your product in a reasonable timeframe? Do their quality systems align with your own? How do they support a product once it is delivered, and manage maintenance and enhancements?
A critical point to remember is that good development partners will be completely confident with the technologies to be used in developing your software, but only you completely understand the nuances of your business, your requirements and your client’s needs. Expect that you (or your key staff) will need to be involved heavily at the inception of a custom software development. Experience shows that 90% of the risk in the development of a custom development occurs during this phase, where the exact definitions of what the software will do are documented. As with everything, the proper planning and specification of the solution, along with exhaustive user testing before commissioning are the absolute keys to success.