To Bespoke Or Not To Bespoke
It’s a question which often comes up during the course of improving business systems, whether to purchase an “off the shelf” solution in the hope that it will satisfy the business requirements or invest in a tailor made solution and hope that it can be completed within a suitable budget and time frame. Being a software developer you would expect me to favour the bespoke option, however I feel each has it’s place depending on the requirement and subsequent investment required.
For example, a small to medium sized business looking to streamline their timesheet and billing system, can very easily subscribe to a cloud-based service which will offer this standard functionality at minimal cost. There are only a few ways of capturing and processing timesheet data, so the likelihood is that a suitable product may be found. Difficulties may then arise if the company does not work in a standard way with their timesheets, which possibly conflicts with the generic solution. So what do they do in this event? Do they try and tweak what they have to fit the bill or do they build a custom solution?
Typically you would find that a generic solution is adopted as a quick way of managing a business process, however as the business grows, expands and refines these processes they quickly “out-grow” the generic solution, which has subsequently become less effective. It’s at this point that the business analyses their current position combined with lessons learned from the shortfalls of the original system to allow them to manifest a set of unique requirements for the development of a new bespoke system.
Another variation of this scenario would be the “hybrid” consisting of a standard platform such as SharePoint, WordPress, Joomla, Drupal etc. where a set of core features exist “out of the box” to handle search, authentication, content management etc. with the possibility of adding new features through development of custom components or plugin. In this case the role of the developer would be to develop a bespoke solution as a plugin or addition to the standard platform. Large corporations tend to prefer this approach as it not only gives them the ability to scale but also allows for the flexibility of developing custom components to plugin into the standard platform.
All in all the bottom line will always relate to the cost of purchasing/licensing a product across the organisation against the investment cost in developing a bespoke solution. This will be largely based on the complexity of the requirement, the expected savings or return on investment gained through using the system and the expected implementation timescales. Overall the final business decision will naturally be made on what makes economic sense financially and often enough determining this alone can be quite difficult.
I strongly believe that as modern software developers we have to immerse ourselves in this process, assisting the client in order to help them answer the age old question “to bespoke or not to bespoke”.