Off-The-Shelf VS Custom Software Solutions

Code Heroku
Code Heroku
Published in
5 min readJun 28, 2020

When leaders of an organization try to address a business need using software solutions, they are often faced with two choices -

1. Use an Off-the-Shelf software; OR

2. Build a custom software solution which can address their unique business requirements.

Examples for Off-the-shelf software solutions include: Content Management Systems (CMS) such as SharePoint, Drupal, WordPress which can be configured for your business needs. And its customizable counterpart will be a static website built using simple HTML / JavaScript.

Similarly in the world of BI / Analytics — Tableau, PowerBI, Qlik are examples for off-the-shelf software whereas its counterpart would be a custom dashboard built using JavaScript charts.

Often leaders think that Off-The-Shelf Solutions are less expensive to deploy and thus best suited for small businesses or a product in early stages of development.

In this post I hope to bust some myths around these off-the-shelf solution so that you can make a more informed decision for your organization!

Consider a mid-size financial consulting company which wants to build a website. The only dynamic sections of their website include — a News Page and a Careers Page that needs to be updated about every month.

Scenario 1: Choosing Off-The-Shelf solution

Since they need the ability for their HR manager to update the Careers page they choose to use a CMS (User-configurable software) which will apparently make it very easy for a non technical user to update the page. The CEO of ABC Inc, does some initial research and finds that they could use opensource CMS such as WordPress to build their website quickly. They find an expert freelancer to setup their website.

The developer uses readily available templates, several free plugins this platform offers to speed-up the development. Since there are some unique requirements on the News and Jobs pages, the developer also build some custom plugins to meet these additional requirements. After six months of hard work, the website is finally deployed. The HR manager is happy as they can post jobs without the need to communicate with a developer.

In these past six months, the developer made sure that updates are regularly applied to the CMS, know vulnerabilities are patched, backups are created and all other nuisances that might occur with a database driven application are taken care of. Everything works great! …. until now!

One years latter, the original developer of this website no longer works for the company. For the past few months no one has applied patches to the CMS or updated plugins. The news section needs to be updated but due to some recent updates to the CMS, custom plugin no longer work as expected. What do they do now? Hire another Developer to fix the website?

Note that even though the actual News & Careers page updates were made by a non-technical person, the company might not realize but they always needed a Wordpress / Drupal developer to maintain and update their website, so the initial premise that this solution will allow them to maintain a website without a developer at lower cost was never valid.

Scenario 2: Building a Custom Website

Now, what if the company opted to create a static HTML website (customizable software). They contract a developer and purchase a website template for few bucks. The website is built in half the time since there is no CMS development overhead involved. Initially the HR manager learns from the developer on how to create and edit jobs page by copy-pasting from the HTML template. After doing this couple of times, they pick up this skill and use tools like online HTML editors to make the process easier. And because this is a static website it needs no patches or significant updates to be applied. Even after a few years when the developer who build this website no longer works for the company, the company is not significantly affected. If any updates are required, It is much easier and cheaper for the company to find a college kid who knows HTML/Javascript compared to finding an expert WordPress / Drupal Developer.

Bottom Line: Leaders often underestimate the time and expertise it needs to setup and maintain an off-the-shelf solution. Any customization to these products are not straight forward. Often such solutions can’t match the growing needs of your business and you will end up hiring developers to address this.

Myth: This choice depends on the problem at hand

You might also think that this choice solely depends on the problem at hand and your specific requirements. I would argue that a bigger factor in this decision is what business are you in? Ask your self -

Is the problem you are solving, directly related to your core business?

If the answer to this is yes, then you will be better served with a custom software solution in the longer run.

In cases when organization try to use off-the-shelf solution as part of their core product, for example a Health Care company using embedded PowerBI dashboards in their product, they are convinced that because these solutions can be configured to meet their needs, this will help to reduce their development time.

But what they don’t consider is that often this comes at the cost of added complexity, reduced maintainability and thus eventually added cost.

In fact, as you see in the plot below, I believe the end-user value degrades after a point with added configuration. To deliver high end-user value you must find the right balance between software’s maintainability and configurability.

I am not against using configurable software platforms whether enterprise or opensource. If a SaS product satisfies all your requirements you should try it out. But If this is part of your core product / offering, It is in the best interest to build tools using minimal technology stack and thus keep the software at really low maintenance. I would suggest that you build an evaluation model for your company that will help you determine the best course of action.

If you would like to get a free copy of an evaluation model we recommend to choose between Off-the-Shelf and Custom Software Development, you can email me at mihirt@codeheroku.com

Do you have any stories from your organization that you would like to share? I would love to read them in the comments section. If you enjoyed reading this post, please do consider sharing this with your network!

--

--