Bespoke Software Definition
In the tailoring world bespoke means a higher level of expertise has been utilised and hands-on construction applied. It brings with it the feeling that there is the highest professionalism applied to the production of the product. In this respect ‘bespoke’ has been adopted by the computer software industry as meaning a software product which has been carefully constructed and specifically designed to meet the exact requirements of the customer.
What is bespoke software?
Bespoke software is software specially made for a specific user or organisation. Since it is targeted at one customer, and built uniquely for that customer, it can accommodate whatever design preferences the user wants. It can deal with a vast range of business functions such as accounting, human resources, data management, stock control etc all under one umbrella. Bespoke software can be developed in an iterative way so that the design can accommodate any changes the customer identifies during the software development process. In addition the finished product can be modified at a later date if new requirements are subsequently identified. Bespoke software is also going to be user friendly and intuitive. Being made to the customer’s specific requirements it will be able to use working methods and terminology which are familiar to the customer.
Bespoke software can take many forms such as business processes software to deal with customers enquiries or requests, e-commerce solutions for online shops, automated invoicing for businesses or content management systems for websites. Bespoke software can be made to do virtually anything because software developer’s tools have improved so much in the last 5-10 years and the hardware is available to support this.
Off the shelf and bespoke software
The most important thing at the outset is to understand your business needs and how a software system, whether it be commercial off the shelf (COTS) or bespoke, can help your business. Not only how it can help, but also the processes for which the software will be used, and in what order those processes have to be addressed.
The basic choice for a business is whether to go bespoke or COTS. COTS software can be classified as any application which is bought ready to be used, such as Microsoft Office, Sage Business Cloud Accounting or Adobe’s Creative Cloud for Business. All these products are very good and can cover lots of areas of business activities.
COTS software products today can be very sophisticated because of the amount of resources that are put into their development. This kind of software can also be very advantageous if you have standard needs. These products can be the right solution for you if you are on a limited budget or have time restrictions for getting the software implemented, because bespoke software takes many months, and sometimes even longer, to develop. Also COTS software is often very viable for small businesses which are sole proprietor or only employ a small number of people.
However COTS software might not be such a good fit for those businesses with a large number of employees doing vastly disparate things. In addition it will always bring compromises along with it. Often this type of software can meet many of the requirements of the customer’ business needs, but will never be an exact fit. A business will use a software product because it can do a specific task cheaper and quicker than a person doing the same thing. Perhaps the COTS product can do 80% of the job, but you then have to pay an employee to do the remaining 20% of the job. The economic question for the business then would be; is it cheaper to use the employee’s time to do the task, or is it cheaper to have a bespoke programme written that will do the whole job and leave the employee free to do something else?
When the limits of the COTS solution do not match the extent of the customer’s needs then the customer has to adapt his working methods to accept the limitations of the software, or maybe buy a plug in or write additional bespoke programmes to get a fix which will cope with the specific needs of his business. You may be in a situation where you find a COTS product that fits your needs for a while, but as your business expands or diversifies it will become more and more obvious that you need to think about a bespoke solution.
There is another, halfway house, option, whereby you can add bits of bespoke software onto a COTS product and gradually phase out the COTS parts. A software development company can interface different software applications using a bespoke solution, and this can allow a more gentle transition between the COTS and the totally bespoke product. This kind of solution can buy a business time, particularly if the needs of the business are changing, and it may well be a solution which will last until the business needs are more fully identified.
On the other hand you may find that the different parts of your business are becoming too diversified using the combined system of COTS and bespoke in different ways and in different areas of your business. Perhaps the COTS parts of the system are becoming used less and less, the IT system is getting messy, and this is probably the point when you need to rationalise the situation and opt for a bespoke solution. There is a cost implication too, and, when the figures for future business needs are calculated, it may be evident that there would have been little difference in price had you paid for a bespoke option at the outset.
Benefits of bespoke software
The features that you get in the bespoke system are the ones that you ask for. With a bespoke product there is no compromise with parts of a system that you will not use or do not need. In addition by having a bespoke software product you can be sure that business competitors do not have the same system, and this, if applied skillfully, should give your business an advantage, giving you the ability to work in a different way to other companies you are in competition with in your sector. Apart from giving a competitive edge, bespoke software can make your company stand out from the crowd and show any unique elements of your business to best advantage.
Ease of use and productivity
Bespoke software will be made so that it is easy for you to use. You will also have more control than if you used COTS software since you can make the changes you want when you want. You can determine what processes need to be included in the software build and thereby make sure that you reduce the risk of human error in your business.
Your software developer can also suggest ways in which the bespoke software can actually improve your service by streamlining your IT system and making it more efficient. The software developer may also be able to provide you with performance benefits which were just not possible with a COTS system.
A bespoke solution will be tailored to the processes you already know, so there will be little familiarisation necessary with new methods or systems, unlike COTS products which may take a long time to learn properly. Also by being familiar with the system there will be fewer errors made, and less supervision of staff necessary. This will increase productivity as will the fact that repetitive tasks can be automated. You will also be able to validate data input so that there will be no unexpected software behaviour, malicious user exploitation or empty strings caused by incomplete data entered in required fields.
Ongoing input by your software developer will ensure that your system is kept up to date and and further development can be scheduled in as the business need arises.
It will at first appear that the cost of a bespoke system is high compared to a COTS product. The latter will be cheaper up front because the price of development is spread across the many customers who will buy the product and the licences sold by the software developer. In the case of bespoke software the price of the software development is borne by the sole customer for whom it is designed. However, if the costs are analysed in detail it may well turn out that the bespoke product is not much more expensive than the COTS alternative.
This is because:
- The bespoke product will be specifically designed to make your business processes as efficient as possible, thereby saving your business time money. Whereas the COTS products will waste time and money in workarounds and trying to make the best fit.
- The COTS product brings with it a potentially expensive up-front licence fee.
- COTS software will inevitably be updated and upgraded every few years, and the cost of this has to be taken into account. In addition many updates often include numerous functions that you will not use or need, but you will have to pay for them anyway.
- If you have chosen to go COTS and the product has been customised, any updates will inevitably need to be overseen by a software developer, which is a further cost implication.
- In addition there is the chance that the COTS product may become redundant because some of these products only offer updates for a limited period of time.
Pointers and precautions when choosing a software development company
After understanding your business needs, the second most important decision is the choice of software development company to work with you on your system. This is a decision which could make or break your company so you have to make sure you get it right.
You must ensure that you are comfortable with the software development company you choose, and are able to work constructively with them.
You must liaise carefully with the development company so that you get the right options for your business. Any indecisiveness or poorly thought through decisions made in the early stages of development may impact heavily on the usefulness of the final product, although you should be able to make further input as the project progresses.
The company you choose must be professional, flexible, reliable and able to provide software developed to the highest, best practice, standards. You do not want a product which is unreliable or prone to bugs. Research the company and get reviews from their recent clients. Make sure that they have brought projects in on time and to budget.
There are a large number of software development companies in the sector, so narrow down your choice and get quotes from those companies who you feel might be right for your business. Ensure that they will be able to provide you with a secure site.
Find out about the support services offered by different companies. Ask if there is a fee for extra work on the application. Ideally a software company should be proactive in their support services.
If you already have a database in operation make sure that the company you chose has experience in successfully migrating legacy data to new applications.
Ensure that your software is going to be scalable so that your system can grow to meet the needs of an expanding business without having to be redesigned.
Finally, and very importantly, make sure that you have the source code for your application once the software developer has finished. If you don’t have the source code you are dangerously exposed and completely dependent on the developer. Make sure that there is a clear agreement about the source code, because, unless specified, it is likely that the software development company would own the copyright and could use your application elsewhere. Also if the development company goes out of business and you do not have the source code you may find that it will be difficult to maintain and update your software application. Therefore it might be beneficial to enter into an escrow agreement which ensures that a current copy of the source code is lodged with a third party.