The Capability Maturity Model (CMM) is the standard model of process maturity in software development. The maturity level of organizations is depicted on the model based on the software developer’s progress in terms of software development.
The CMM has 5 levels of organizational maturity, defined as follows:
1. Initial level. The process environment is considered to be chaotic or unstable. The success of the software development depends on the manager’s handling of its programmers and the programmer’s experience. The processes are undocumented and is driven in an ad hoc, uncontrolled and reactive manner by users or events. If manager or programmer leaves, this may lead to low quality of software development.
2. Repeatable level. At this point, the project management technology has been introduced. The project planning and management is based on paste experiences. The standards for producing software are documented and special quality management group created.
3. Defined level. This level is where sets of defined and documented standard processes are established. A special quality management team is created to ensure that defects are detected and that transitions are carried out to a more effective technologies. The team takes charge for building and maintaining these standards. The organization should have a continuous advanced training of staff.
4. Managed level. This level is the point where organization has established the quantitative indices for both software and process. It uses the process metrics, wherein management can effectively control the AS-IS process where management identify ways to adjust and continue to adapt the process to some projects without decreasing the quality or deviations from specifications
5. Optimizing level. This level is a permanent improvement of the existing processes. It involves continuos improving process performance. It includes exsting and newly introduced innovative technologies.