While I was engaged in a conversation with our Marketing Manager about the differences between Bespoke Software versus Commercial Off the Shelf Software (AKA COTS), it occurred to me that “Bespoke” sounded like a very arcane word, almost alien yet it was popular in IT parlance and rhetoric. I personally found that people used the word to sound erudite and cultured. So I decided to do some digging.
Bespoke, according to Dictionary.com is the simple past tense and past participle of “bespeak” which simply means “To order beforehand”. Bespoke means “spoken for”. In Oxford English Dictionary, it is defined as “(of goods, especially clothing) made to order.” Even though the word had a British origin, it became popular in America as it catered to the notion of individualism. It appealed to the concept of designer wear and all things made especially for “You”. It also sounds old fashioned and traditional and plays right into the authenticity hoax. From a software development point of view, “bespoke” implies custom software development. No surprises there! Which brings me back to the subject of this article “COTS / Software packages Vs Custom Software / Bespoke development”. For the uninitiated here is a quick recap on the definitions of these terms.
‘Bespoke’ refers to the complete, ground-up development of a system. This may use some ‘productized’ components for specific functionality, for example a reporting component like Crystal Reports or Cognos, or some advanced user interface controls like Telerik.
COTS (Commercial Off-The-Shelf) refers to a system that already exists and delivers a common set of functions, usually for a particular business domain, with the ability to be customized, configured or extended to suit each client. For example, many companies use Siebel for customer relationship management, or Sage for accounting.
The third option which is in the middle is a slightly grey area in which products form a customizable platform on which to write bespoke software. For example, open source ecommerce platforms like Magento or CMS platforms can be used to develop many types of applications faster than a pure bespoke development by providing core functionality ‘out of the box’. We will cover this option in a short while.
Bespoke software is not for everyone and its mileage will vary depending on how the business evolves. Below are sample set of pros and cons.
Change “completely custom” to Bespoke Development
At the end of the day everything boils down to the Total Cost of Ownership (TCO) of the final solution. This means, it’s not just the initial cost, but also the ongoing operational cost such as the cost of support, maintenance, business benefits, adaptability to change etc. to name a few.
A third option mentioned earlier is to negotiate an amalgamation between off-the-shelf and bespoke solutions. Specialist IT companies (Think boutique software shops as opposed to large monolithic companies) can develop systems using a mixture of commercial off-the-shelf software which can be modified by them to fit in exactly with the customer’s requirements.
By matching the needs of the customer to an existing product, the challenge is then to integrate it seamlessly into the company, with little or no disruption to existing working practices. This provides an immediate competitive advantage to the customer who is not then operating the same system as direct competitors.
The Pareto 80:20 principle is applicable here, i.e. 80 per cent of the application functionality is already available thus enabling the remaining 20 per cent to be configured according to the customer requirements.
For companies whose requirements are driven by workflows or established business processes, the main engine of the application can be leveraged from an existing framework while the remaining 20 percent can be drawn out through bespoke development.
Other benefits that become apparent are the cost savings. Modifications or additions to an existing software package shouldn’t run into the tens of thousands of pounds that a full system development would cost. This is a much more manageable project for an in-house IT team that also has ongoing IT issues to deal with.
Boutique Software companies are small enough to care but big enough to get the job done. They are able to afford close personal interactions with their clients and candidates to ensure highly vetted development teams with skillsets and culture to match the client company’s needs. They are also quick to adapt and respond to changing needs. Customized solutions require human touch-points, crystal clear communications.