The Myths of Custom or Bespoke Software
We speak to various types of people regarding the provision of a custom software solution for their requirements, the first are those who know that there is absolutely nothing available to meet the requirements and thus they have to commission something; The most common after that are the people who purse their lips, inhale sharply through their teeth and make some comment about the inadvisability of purchasing and using a custom software solution, the purpose of this article is to highlight a few of their more common complaints and the arguments we use to try and show that in a lot of cases custom software is still a viable solution.
The issue most often raised is that custom software is much more expensive than an off the shelf package. We are the first to admit that if there is an off the shelf package that does exactly what you want, now and that can be demonstrated to work in the way that you want it to, it's likely to be more cost effective than having something built. However, that may not always be the case, especially when third party licences and hardware requirements are taken into account.
An off the shelf package will often require modules, these modules regularly have varying hardware and software requirements that will mean a mix of server operating systems and potentially several different server based databases all with individual licensing issues to over-come, also resulting in higher hardware overheads.
As we build only the features that are required, as well as using a single platform and database the licensing requirements are all included in the quoted price, because we are not including features that you do not require and we are not having the overhead of multiple database/platform servers we can often vastly reduce the hardware required to run the solution as well.
In a recent consultancy exercise the cost for a custom built system was approximately half that of the off the shelf package (including all “configuration”, installation, licensing and hardware).
Custom v Configuration
When selecting a new system for your business you will often have sales people in to demonstrate their products, prove their credentials and ask your questions. You will (hopefully) have a requirements list and as you go through the demonstration you will be ticking off requirements that you feel have been met by the product being demonstrated, you may even grade how well the product meets that particular feature. At the end of the demonstration you will have left a series of features that you haven't seen or possibly a list of queries around if the system can be configured to work in a slightly different way to meet your specific needs.
During this last part of the process there will be times where the sales person will tell you that they can't show you as that feature is “in development” or that the system will do that when the installation team configure the system for your install. Their quotation will then show a number of days work per feature that you have asked to see changed etc.
While not always the case, this often means that they will be customising the system for your requirements and thus you will end up losing several of the benefits of an off the shelf package, one of which will be the cost which will rise dramatically.
When purchasing a software package, especially one that is going to be critical to the operation of your business, support of the application is going to be crucial to you, off-the-shelf applications are usually produced by larger companies with a dedicated support team and a support hotline that you can call within operating hours.
However as soon as that package has been customised for your installation and you have a problem with that particular section, this support team will no longer be able to help you. In fact the only person available to help you may in fact be the single developer who changed the system on your behalf. This developer may be on leave, may have left for greener pastures or may not have your particular customisations available to them within any short timeframe.
A custom software developer though, is often a smaller company (often the developer will be the company owner), with a much lower churn of developers and as its smaller the developers with the company are often all aware of every installation they have created. They will often be set-up such that development versions of every install they have can be kept around for any support requirements. Given the smaller company size, the support line is very often the developer who created your application in the first place and therefore is completely aware of your installation when you call in.
Interruption of Service
One of the second most raised concerns is the sustainability of the software package as well as its longevity. An off the shelf package is likely to be supported and updated by a large company dedicated to its maintenance. This provides some re-assurance that the package will be in use for some time to come.
Be aware however that software companies especially are often purchased for obscure patents and copyrights, often meaning that the package you are running may be left by the wayside or discontinued (especially if the purchaser has a competing product that they want to sell you). A custom piece of software, developed by a smaller software house is much less likely to suffer this though as their assets tend to be the developers rather than a specific piece of code. On top of this with a custom piece of software you can almost always negotiate the provision of the source code as a part of the development, you will almost never receive this with an off the shelf package. This will normally allow you further development in the event of the loss of the primary development company.
As well as all of this, recent economic realities have proven that even the largest companies can become economically un-viable and therefore your software package may end up unsupported and may inevitably need replacing.
Whilst there can be a good case for purchasing an off the shelf package, there is also a considerable advantage to having your own produced in a lot of cases. A piece of software or a database system written specifically for you is often smaller, faster and works in the way that you want rather than the way various disparate groups want it to work. There is often no significant disadvantage to having this software produced, providing you are careful in selecting the developer who will be creating it for you.