CMM and CMMI in Software Engineering

Capability Maturity Model (CMM):

The Software Engineering Institute (SEI) has developed a comprehensive process meta-model emphasizing the process maturity that is called the Capability Maturity Model (CMM). It is predicted on a set of system and software capabilities that should be present when organizations reach different levels of capability and maturity.

Level1: Initial: Few processes are defined and individual efforts are taken.

Level2: Repeatable: To track cost-schedule and functionality basic project management processes are established. Depending on earlier successes of projects with a similar application.

Level3: Defined: The process is standardized, documented and followed. All projects use a documented and approved version of a software process, which is useful in developing and supporting software.

Level4: Managed: Both the software process and product are quantitatively understood and controlled using detailed measured.

Level5: Optimizing: Establish the mechanism to plan and implement change. Innovative ideas and technologies can be tested.

The Capability Maturity Model is used in assessing How well an organization’s processes allow to complete and manage new software projects.

Capability Maturity Model Integration (CMMI):

Capability maturity model integration (CMMI) is the successor of the capability maturity model (CMM). The CMM was developed in 1987. The CMMI was first released in 1990, it was adopted and used in many domains. CMMI aimed to improve the usability of maturity models by integrating many different models into one framework.

For example, CMMs were developed for disciplines such as systems engineering (SE-CMM), people management (PCMM), software acquisition (SA-CMM), and others. Although many organisations found these models to be useful, they also struggled with problems caused by overlap, inconsistencies, and integrating the models. In this context, CMMI is generalised to be applicable to many domains.