SEI Capability Maturity Model

The CMM describes the principles and practices underlying software process maturity. It is intended to help software organizations improve the maturity of their software processes in terms of an evolutionary path from ad hoc, chaotic processes to mature, disciplined software processes. The focus is on identifying key process areas and the exemplary practices that may comprise a disciplined software process. The maturity framework provided by CMM establishes a context in which:

Structure of CMM

Maturity Levels
A layered framework providing a progression to the discipline needed to engage in continuous improvement (It is important to state here that an organization develops the ability to assess the impact of a new practice, technology, or tool on their activity. Hence it is not a matter of adopting these, rather it is a matter of determining how innovative efforts influence existing practices. This really empowers projects, teams, and organizations by giving them the foundation to support reasoned choice.)

Key Process Areas
Key process area (KPA) identifies a cluster of related activities that, when performed collectively, achieve a set of goals considered important.

Goals
The goals of a key process area summarize the states that must exist for that key process area to have been implemented in an effective and lasting way. The extent to which the goals have been accomplished is an indicator of how much capability the organization has established at that maturity level. The goals signify the scope, boundaries, and intent of each key process area.

Common Features
Common features include practices that implement and institutionalize a key process area. These five types of common features include: Commitment to Perform, Ability to Perform, Activities Performed, Measurement and Analysis, and Verifying Implementation.

Key Practices
The key practices describe the elements of infrastructure and practice that contribute most effectively to the implementation and institutionalization of the key process areas.
CMM Structure

Framework for CMM

Process Definition Criteria are the set of information that must be included in a software process description for it to be usable by the people performing the process. To establish the criteria you are asking the question - "What software process information do I need to document?"

Process ElementAnswers
PurposeWhy is a process performed?
InputWhat work products are used?
OutputWhat work products are produced?
RoleWho (or what) performs the activities?
ActivityWhat is done?
Entry criteriaWhen (under what circumstances) can processes begin?
Exit criteriaWhen (under what circumstances) can processes be considered complete?
Procedure How are activities implemented?

Other process elements:

Operational Framework

Information
Type
Description
PolicyThe laws and regulations that govern or constrain operations
StandardsThe operational definitions or acceptance criteria for final and interim products.
ProcessDescribe what happens within the organization to build products that conform to standards in accord with policies.
ProceduresDescribes how-to or step-by-step instructions that implement a process.
TrainingKnowledge and/or skills required to use a procedure.
ToolsAutomated support needed to implement the procedures.

Software Process Framework
for SEI's
Capability Maturity Model

The software process framework documented is intended to guide those wishing to assess an organization/projects consistency with the CMM. For each maturity level there are five checklist types:
TypeDescription
Policy Describes the policy contents and KPA goals recommended by the CMM.
Standard Describes the recommended content of select work products described in the CMM.
Process Describes the process information content recommended by the CMM. The process checklists are further refined into checklists for:
  • roles
  • entry criteria
  • inputs
  • activities
  • outputs
  • exit criteria
  • reviews and audits
  • work products managed and controlled
  • measurements
  • documented procedures
  • training
  • tools
Procedure Describes the recommended content of documented procedures described in the CMM.
Level Overview Provides an overview of an entire maturity level. The level overview checklists are further refined into checklists for:
  • KPA purposes (Key Process Areas)
  • KPA goals
  • policies
  • standards
  • process descriptions
  • procedures
  • training
  • tools
  • reviews and audits
  • work products managed and controlled
  • measurements

See also the People Capability Maturity Model.


References

Bemberger, J. (June 1997) Essence of the Capability Maturity Model. IEEE Computer, p. 112-114.

Olson, T. G., N. R. Reizer, & J. W. Over (1994) A Software Process Framework for the SEI Capability Maturity Model. Documents and Checklists for a Software Process Framework for CMM.

The Capability Maturity Model: A Tutorial. A set of slides from SEI describing CMM and the underlying structure.


Other Process Architectures and Frameworks

[PCMM] [Bootstrap] [TRILLIUM] [Quality Improvement Paradigm] [SPICE] [Kaizen]