Custom software (also known as bespoke software or tailor-made software) is software that is specially developed for some specific organization or other user. As such, it can be contrasted with the use of software packages developed for the mass market, such as commercial off-the-shelf (COTS) software, or existing free software.
Since custom software is developed for a single customer it can accommodate that customer's particular preferences and expectations. Custom software may be designed in stage by stage processes, allowing all nuances and possible hidden dangers to be taken into account, including issues which were not mentioned in the specifications. Especially the first phase in the software development process may involve many departments, including marketing, engineering, research and development and general management.
Large companies commonly use custom software for critical functions, including content management, inventory management, customer management, human resource management, or otherwise to fill the gaps present in the existing software packages. Often such software is legacy software, developed before COTS software packages offering the required functionality became available.
Custom software development is often considered expensive compared to off-the-shelf solutions or products. This can be true if one is speaking of typical challenges and typical solutions. However, it is not always true; custom software development by a reputable supplier is often a matter of building a house upon a solid foundation and, if managed properly, it is possible to do this quickly and to a high standard. In many cases, COTS software requires customization to correctly support the buyer's operations. The cost and delay of COTS customization frequently adds up to the expense of developing custom software.
Additionally, COTS comes with high upfront license costs frequently running into millions of dollars. Thus only the big corporations are able to absorb such high costs upfront. Additionally, the big software houses having COTS products revamp their product very frequently. Thus a particular implementation needs to be upgraded for compatibility every 2–4 years. Given the cost of customization, such upgrades also turn out to be expensive as a dedicated product release cycle will have to be earmarked for it.
The decision to build a custom software or go for a COTS implementation would usually reside on one or more of the following:
- Finances - Cost and Benefit: The upfront license cost for COTS products mean that a thorough cost-benefit analysis of the business case needs to be done.
- Time to market: COTS products usually have a lesser time to market.
- Size of implementation: COTS comes with standardization of business processes and reporting. For a global and national player, these bring in gains in cost savings, efficiency and productivity.
The construction industry uses custom software to manage projects, track changes, and report progress. Depending on the project, the software is modified to suit the particular needs of a project owner, the design team, and the general and trade contractors. For example, floor plans for a particular project are unique to that project and are available on mobile devices for the project team to consume through custom software. In some cases, the floor plans use SVG. Rooms and spaces on floor plans that use SVG are programmable; a room's fill color can change to red for instance if the room has outstanding deficiencies.
Project-specific data is used in other ways to suit the unique requirements of each project. Custom software accommodates a project team's particular preferences and expectations, making it suitable for most construction processes and challenges:
- design development
- tender calls
- document control
- shop drawing approvals
- changes management
- inspections and commissioning
Hospitals can keep the data of a patient and retrieve it any time. This enables a doctor and his assistants to transfer the details of a patient through a network. Keeping patients' blood groups in the hospital database makes the search for suitable-group blood easy. Hospitals also use billing software especially in their dispensary.
Schools use custom software to keep admission details of students. They produce Transfer Certificate also. Some governments develop special software for all of their schools. Sampoorna is a school management system project implemented by the Education Department of Government of Kerala, India to automate the system and process of over 15,000 schools in the state. These projects brings a uniformity for the schools.The Akura School Management system has been implemented in many leading Schools in Sri Lanka including St. Joseph's College, Colombo
Billing is a common use of custom software. Custom software is used by small shops, super markets and wholesale-sellers to handle stock-details and to generate bills.
Major project successes
Successful technology businesses based on custom software, such as Facebook, are not included on this list.
Major project overruns and failures
Failures and cost overruns of government IT projects have been extensively investigated by UK Members of Parliament and officials; they have had a rich seam of failures to examine, including:
- The NHS National Programme for IT
- Rural Payments Agency computer systems. On 15 March 2006 the Chief Executive Johnson McNeil was sacked when a deadline of 14 February for calculating Single Payment Scheme entitlements was missed.
- Universal Credit - the first trial could not even perform the most basic functions correctly; behind schedule and reportedly the project has been restarted.
- 1992 - LASCAD - the London Ambulance Service's new computer-aided despatch system - so bad it was scrapped. A previous attempt to develop a custom despatch system for the London Ambulance Service had also been scrapped. LASCAD may have led to up to 30 deaths.
- Joseph M. Morris (2001). Software Industry Accounting Tanga. p.1.10