Skip to main content

Short note: Capability Maturity Model

Short answer

CMM is an SEI framework with five maturity levels for assessing software process maturity: Initial, Repeatable, Defined, Managed, Optimizing, each with key process areas. It is used for assessment, process improvement, and contractor selection; it has been replaced by CMMI.

Write a short note on Capability Maturity Model.

The Capability Maturity Model (CMM) is a framework developed by the Software Engineering Institute (SEI) at Carnegie Mellon University to assess and improve the maturity of an organization's software process. It was first created for the US Department of Defense to judge the ability of software contractors.

Idea: an organization with a more mature process produces software of more predictable quality, cost and schedule. CMM gives an evolutionary path of five levels.

LevelCharacteristicsKey process areas (examples)
1 InitialAd hoc, chaotic; depends on individualsNone
2 RepeatableBasic project management; past success repeatableRequirements management, project planning, SQA, SCM
3 DefinedOrganization-wide standard processProcess definition, training, peer reviews
4 ManagedProcess and quality measured and controlledQuantitative process management, quality management
5 OptimizingContinuous improvementDefect prevention, technology and process change management

Key process areas (KPAs): each level (except level 1) has KPAs, which are groups of related activities that must be done well to reach that level. Each KPA has goals, commitments, abilities, activities, measurement, and verification.

Uses of CMM

  • Assessment: an organization rates its current maturity level.
  • Process improvement: it identifies the next KPAs to work on.
  • Contractor selection: customers judge the capability of software suppliers.

Limitations: it is costly and documentation-heavy for small companies, and it focuses on process rather than directly on the product. CMM has since been replaced by CMMI (Capability Maturity Model Integration).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Software Engineering chapter 9 questions →