CMMi – Capability Maturity Model Integration
The Capability Maturity Model Integration (CMMI) project is a collaborative effort to provide models for achieving product and process improvement. The primary focus of the project is to build tools to support improvement of processes used to develop and sustain systems and products. The output of the CMMI project is a suite of products, which provides an integrated approach across the enterprise for improving processes, while reducing the redundancy, complexity and cost resulting from the use of separate and multiple capability maturity models (CMMs).
CMMI is the successor to CMM (Capability Maturity Model). Both CMM and CMMI were developed at the Software Engineering Institute (SEI) at Carnegie Mellon University in Pittsburgh, Pa. CMM was developed in the late 1980s, and retired a decade later when CMMI was developed. CMMI v1.02 was released in 2000.
CMM was developed as a result of a study financed by the U.S. Air Force as a way to objectively evaluate the work of software subcontractors. The Department of Defense, concerned over escalating software development costs and issues with quality, established the SEI in the early 1980s, and work on the CMM began in 1988. It was first described in the 1989 book, Managing the Software Process, by Watts Humphrey, director of the software process program at the SEI, and in August 1991 the first version of the Capability Maturity Model for Software (SW-CMM) was published by the SEI.
The CMM was originally intended to be a tool to evaluate the ability of government contractors to perform a contracted software project. Though it was designed to measure software development, it has been, and continues to be, applied as a general model of the maturity of processes in both IT and non-IT organizations.
The model identifies five levels of process maturity for an organization:
1. Initial (chaotic, ad hoc, heroic): The starting point for use of a new process.
2. Repeatable (project management, process discipline): The process is used repeatedly.
3. Defined (institutionalized): The process is defined/confirmed as a standard business process.
4. Managed (quantified): Process management and measurement take place.
5. Optimizing (process improvement): Process management includes deliberate process optimization/improvement.
There are key process areas (KPAs) within each of these maturity levels that characterize that level, and five measures for each KPA:
Companies were expected to be formally assessed as to their maturity level. As they achieved each level, they formed a plan to get to the next. However, the rigorous processes required precluded the advancement of many commercial software companies beyond level 1.