Custom software development is the process of designing, creating, deploying and maintaining software for a specific set of operators, purposes or organizations. In contrast to commercial off-the-shelf software (COTS), custom software development aims at a hardly defined set of requirements. COTS aims an extensive set of requirements, allowing it to be wrap up and commercially marketed and distributed.
Custom software, on the other hand, is designed for a specific set of needs, such as:
Custom software development is usually done by in-house development teams to a third-party. The same processes and methodologies apply to custom software development as other types of software development. A custom project would move through the familiar steps of requirements gathering, code construction, testing and deployment and apply the same methodologies, like Agile, DevOps or Rapid Application Development, as any other software project.