|
Capability
Maturity Model
Developed
by Carnegie-Mellon's
Software
Engineering Institute.
The Capability Maturity
Model for Software describes the principles and practices
underlying software process maturity and 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 CMM is organized into five maturity levels:
1) Initial.
The software process is characterized as ad hoc, and
occasionally even chaotic. Few processes are defined, and
success depends on individual effort and heroics.
2) Repeatable.
Basic project management processes are established to track
cost, schedule, and functionality. The necessary process
discipline is in place to repeat earlier successes on projects
with similar applications.
3) Defined.
The software process for both management and engineering
activities is documented, standardized, and integrated into a
standard software process for the organization. All projects
use an approved, tailored version of the organization's
standard software process for developing and maintaining
software.
4) Managed.
Detailed measures of the software process and product quality
are collected. Both the software process and products are
quantitatively understood and controlled.
5) Optimizing.
Continuous process improvement is enabled by quantitative
feedback from the process and from piloting innovative ideas
and technologies.
Predictability,
effectiveness, and control of an organization's software
processes are believed to improve as the organization moves up
these five levels. While not rigorous, the empirical evidence
to date supports this belief.
Except for Level 1, each
maturity level is decomposed into several key process areas
that indicate the areas an organization should focus on to
improve its software process.
The key process areas at
Level 2 focus on the software project's concerns related to
establishing basic project management controls. They are
Requirements Management, Software Project Planning, Software
Project Tracking and Oversight, Software Subcontract
Management, Software Quality Assurance, and Software
Configuration Management.
The key process areas at
Level 3 address both project and organizational issues, as the
organization establishes an infrastructure that
institutionalizes effective software engineering and
management processes across all projects. They are
Organization Process Focus, Organization Process Definition,
Training Program, Integrated Software Management, Software
Product Engineering, Intergroup Coordination, and Peer
Reviews.
The key process areas at
Level 4 focus on establishing a quantitative understanding of
both the software process and the software work products being
built. They are Quantitative Process Management and Software
Quality Management.
The key process areas at
Level 5 cover the issues that both the organization and the
projects must address to implement continual, measurable
software process improvement. They are Defect Prevention,
Technology Change Management, and Process Change Management.
Each key process area is
described in terms of the key practices that contribute to
satisfying its goals. The key practices describe the
infrastructure and activities that contribute most to the
effective implementation and institutionalization of the key
process area.

|