Bespoke software are programs tailor-made to individual customers’ requirements, and are thus wholly unique, as opposed to standard software that is developed and sold to customers as it is (without special features designed to meet particular needs).
Bespoke software development is a service delivery, which consists of providing the necessary technical expertise and manpower. Functionalities, delivery schedule and terms of payment are subject to a contract between a service provider and a customer. The customer is heavily involved in the development process and estimates the success of the work.
Almost all bespoke systems are application software, the implementation of which demands that the operating system be preloaded onto the user’s PC.
The construction of bespoke software has been practised since the 1960s and was initially the only means of obtaining application software.
Standard software often responds to a limited, or insufficient, number of requirements, so bespoke software is usually ordered when there is no equivalent standard software available, i.e. in highly specialised areas. It can also be created in order to bring together disparate products; a common practice with software suites such as ERP and CRM.
Software development is performed gradually in several phases, or milestones: at the end of each phase a client receives a version of the product. Each phase ends with an acceptance testing, whereby he or she verifies that the software is doing what should be expected of it. The software is then tested in many conditions, with real data, possibly accompanied by stress tests designed to make the software fail and see how it rescues itself and returns to normal.
The ownership of the software and the licence conditions are one of the subjects of the contract signed between the supplier and the customer.