Custom software (also known as Bespoke software) is a type of software that is developed either for a specific organization or function that differs from or is opposite of other already available software (also called off-the-shelf or COTSsoftware). It is generally not targeted to the mass market, but usually created for companies, business entities, and organizations. Custom software is also when companies or governments pay for customized software for budget or project managing.
Examples of bespoke software include commercial products such as commercial websites, business databases and software for governments. Non-commercial custom software development is common in academic and open source circles.
Complex custom software can be developed on an increasingly small scale through the rise of rapid application development frameworks. This means that smaller companies, charities or even individuals are able to benefit from complex software based on pre-built building blocks which are then customized to suit.
For those wishing to outsource or undertake a software project, the typical steps involved include:
1. Initial Meeting – requirements are discussed in detail.
2. Proposal – a detailed proposal is produced, based on the initial meeting.
3. Detailed Design – for most projects, there is usually more design work to clarify exactly how the system should work.
4. Agree Contract – to achieve the best balance between cost and system functionality.
5. Development – work starts on the proposed system.
6. Delivery of System – at the end of development, a “functionally complete” system is delivered, which requires end-user testing.
7. System Completed – testing is complete, and the system is ready for deployment