This is an article from Wikipedia, the free encyclopedia.
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:
* Initial Meeting – requirements are discussed in detail.
* Proposal – a detailed proposal is produced, based on the initial meeting.
* Detailed Design – for most projects, there is usually more design work to clarify exactly how the system should work.
* Agree Contract – to achieve the best balance between cost and system functionality.
* Development – work starts on the proposed system.
* Delivery of System – at the end of development, a functionally complete system is delivered, which requires end-user testing.
* System Completed – testing is complete, and the system is ready for deployment.
According to Blueberry Consultants, the most important questions to ask of a developer before embarking on a software project include:
* Who has copyright?
* Will the system be built on top of any other platform or system?
* Will the system use or depend on third-party libraries or systems?
* Who has source code control?
* Who collects requirements from the customer?
* Will they assist with system deployment and firewall configuration?
* How long have they been in business?
* How many developers are employed?
* What programming languages are used?
* Will any form of logging be incorporated into the software to report bugs?