Encyclopedia: Custom Software

In general terms, Custom software is best described as unique computer software developed to address a specific requirement for which no feasible solution exists.

The custom software development process involves several important steps:

Problem or opportunity definition. Often performed by software consultants, this is the process of evaluating, qualifying, and documenting the business issues resulting in the custom software requirement. This analysis might address a problem or weakness in the existing software infrastructure, an opportunity to improve business efficiencies, or create a new competitive advantage. This process should also include identification of potential cost savings or revenue producing opportunities.

Create the software requirement definition. Custom software development is difficult and expensive and should not be undertaken without a detailed requirements specification document. This document should include a definition of all software interface requirements, a database design, a user interface design, and a testing / acceptance / implementation plan.

The custom software development process involves the actual construction of the software. Careful attention needs to be given to operating system and language selection, security, and performance issues. The custom software should be thoroughly tested prior to being released into a production environment.