The Software Life-Cycle Models

Capability Maturity Model

CMM is not a software process model. Instead, it is a strategy for improving the software process. CMM is now superceded by CMMI (Capability Maturity Model Integration).

(1) CMM (and CMMI) assists organizations in providing the infrastructure for a disciplined and mature software process. The CMM strategy is to improve the management of the software process, in the belief that this will lead to improvements in techniques.

(2) Maturity Levels:

Maturity Level           Characterization
--------------           ----------------
1. Initial                Ad hoc process
2. Managed (Repeatable)   Basic project management
3. Defined                Process definition
4. Quantitatively Managed Process measurement
5. Optimizing             Process control
(3) An organization can assess maturity using a series of questionnaires developed by CMU's SEI (Software Engineering Institute). Thus this approach is good for organization which must evaluate software procurement.

(4) The software maturity model emphasizes measurement, training and retraining of software personnel, and quality control of the software process. But it also increases productivity, as a software development organization moves up to higher level of maturity.