While the debate around the advantages and disadvantages of commercial off-the-shelf (COTS) software versus one-of-a-kind, fully customised software has raged since the first COTS solutions were released to the mass market in the 1990s, there is a third, lesser-known, option: platform software.
Platform software offers the best of both, explains Denis Bensch, chief information officer of FlowCentric Technologies: "Think of the three software alternatives on a spectrum of development, with COTS on the left, custom-built software on the right, and the platform alternative somewhere in the middle. There are clear differences between them, with each having its own set of pros and cons."
Bensch uses a simple motorbike analogy to explain the differences between them.
On the left, in the COTS corner, is the motorbike you would purchase off the floor at a motorbike dealership: it would be fit for purpose (on-road, off-road, standard, cruiser, etc), as designed by the manufacturer (Honda, BMW, Suzuki and so on). You might be able to customise it slightly, but any modifications would have to be supplied by the original manufacturer. Any of that manufacturer's trained technicians would be able to service and maintain it.
In the same way, COTS can be purchased from a computer store or downloaded from a Web site. The user's ability to change its aesthetics or functionality would be limited to what the manufacturer had originally intended, with no other modifications or upgrades allowed.
Continuing with the bike analogy, on the right in the custom-built corner is the specialist bike builder, who produces one-of-a-kind motorcycles from scratch; everything from the wheels to the fuel tank to the suspension and frame to the paint job is unique and intended for just one specific bike. Because the bike is unique in virtually every respect, it cannot be serviced at just any motorbike dealership: it would have to be taken to a highly skilled and specialised bike technician.
Custom-built software is the same. It is developed for a single business that does not want to adjust its systems to the constraints imposed by COTS; rather, it requires the software to conform to the way its business works. So a software development house has to develop software from scratch, according to unique specifications. There will be no other system like it.
Between the two extremes of off-the-floor and one-of-a-kind bikes, is the customised bike: a bike built up from a basic design but its frame and wheels, possibly the fuel tank and mirrors, could be sourced from one of the commercial bike models. Once the customised bits have been stripped off, the bike remains recognisable as a basic BMW or Honda or Suzuki, and could probably be serviced and maintained by qualified BMW or Honda or Suzuki mechanics.
In the IT world, the equivalent to a customised bike would be platform software, which delivers some functionality in a ready-made format, but is not a complete solution. It requires programming and additional effort to complete it.
"Today, a lot of businesses and individuals opt for COTS, and in many instances, this make sense," Bensch says. "However, depending on one's requirements, budget, total cost-of-ownership concerns and other factors such as access to resources and time frame, there are many businesses that want a solution which is partially or wholly customised."
Five factors to consider when deciding between COTS, platform or custom-built Software:
Resources needed to build, deploy and maintain
With a COTS option, your need for human resources to implement and maintain the software will be the lowest. You won't need a programmer as you would for both the platform and custom-build options.
Initial costs vs long-term costs
The cost of specialised programmer resources is high, which means the initial cost for both the platform and custom-built options will be higher than for a COTS solution. However, in addition to the upfront purchase price, which may or may not include the costs of future upgrades, COTS solutions come with an annual licensing fee over which you have no control. In some instances, the annual licence fee could result in you effectively laying out the full purchase price of the software every few years.
There are no licensing fees associated with custom-built software, but the initial cost of building the solution from scratch can be very high, depending on how many programmers are required and how long it takes to develop the software.
In the platform software scenario, there are probably very low or no licence fees, and while the development costs may be high initially, the time required to build the solution will be considerably less than would be the case for a wholly custom-built solution.
Scalability of the solution
There is seldom much scope for scalability of a COTS solution, which is invariably built to accommodate a set number of users or departments. Should your business expand after your initial purchase, your only option is likely to be the replacement of the existing system.
The same non-scalability restrictions could also apply to a custom-built solution. Unless the initial specifications included the ability to scale the software to accommodate potential future growth in user numbers and changes in departmental configuration, the cost of scaling the software could be prohibitive.
The scalability of a platform solution will depend on the nature of the development stack on which it is built. If, for example, it is built on the Microsoft development stack, it could well have the ability to scale significantly. It all depends on the nature of the base product.
Agility and flexibility
The speed with which a software solution can be made to respond to changes in business strategy, legislation or the environment can differ considerably between the three options. In the COTS scenario, the user is wholly dependent on the manufacturer to roll out a new version or provide a patch to accommodate changes that affect the broad spectrum of users, such as changes in legislation.
With custom-built software, making any changes that were not specified in the initial development of the software could take a considerable amount of time and effort Or, if the change required is relatively easy to effect, and your developers are available and on the ball, it could be done extremely rapidly.
In the case of the platform solution, it may be possible to simply change the application that is built on the platform. This is a simpler process than changing the underlying code. Changes could thus be implemented quickly and cost effectively.
Using stock-standard COTS software means that the processes you use within your business will be the same as the processes used by all your competitors, and thus will not provide any kind of competitive advantage. However, certain processes, such as financial processes, are standard and just need to be handled in as efficient a manner as possible.
Custom-built software and platform solutions are more likely to deliver a competitive advantage when they are designed to support specific processes, provided they have been correctly specified. If changes are required to processes, it is probably going to be easier in terms of costs and time to effect changes to the platform software.
"When it comes to deciding which software route to take, the key is for the organisation to balance its immediate business needs with its long-term strategy and growth goals," Bensch says.
"Find the processes in the organisation that are unlikely to change and buy the appropriate packages for those, ensuring that provision is made for growth and change.
"In addition, purchase only from reputable vendors, who are likely to support the product for the foreseeable future. It is also critically important to ensure that the solution can be integrated easily into any other systems and solutions you may have.
"The final step is to look at how you can optimise your business processes and whether that will require customisation. The trick is to find the sweet spot between the way prospective COTS products work, your need for customisation and your financial and human resources capabilities."