In the late 80s, the American Software Engineering Institute (SEI) in cooperation with Mitre Corporation developed an architectural model that will aid the US federal government on evaluating objectively software providers proposals in managing the US government large projects. This architectural model is known as the Capability Maturity Model (CMM).
CMM is a model that represents the process maturity for software development. The advanced model shows the progress of a company’s abilities to develop software. When companies seek the services of software developers it is necessary that they know as to when the deliverables can be served. Yet many companies complete their projects, it showed that there were significant overruns in terms of schedule and budget. With the CMM, such problems were solved.
The main concept of the CMM standard is the organizational maturity. A company is considered as a mature organization if it has clearly defined procedures as to how their software is developed and procedures in terms of project management. As software companies expand, these procedures need to be adjusted and perfected as needed.
CMM is the standard followed by software development company in the process of development, testing, and software application; and rules for appearance of final program code, components, interfaces, etc.
The evolution of the CMM made a major milestone in the management of software process. It was at that point where the software community had a full descriptive understanding how software companies "mature" or improve, in their ability to develop software.