2. What is CMM?
The Capability Maturity Model (CMM) is a
methodology used to develop and refine an
organization's software development process. The
model describes a five-level evolutionary path of
increasingly organized and systematically more
mature processes.
3. History of CMM
• In the 1960s, the use of computers grew more
widespread, more flexible and less costly
• Organizations began to adopt computerized
information systems, and the demand for software
development grew significantly
• As a result, the growth was accompanied by
growing pains: project failure was common, the
field of computer science was still in its early years,
and the ambitions for project scale and complexity
exceeded the market capability to deliver
adequate products within a planned budget
4. History of CMM
• In the 1980s, several US military projects involving
software subcontractors ran over-budget and were
completed far later than planned, if at all. In an
effort to determine why this was occurring, the
United States Air Force funded a study at the SEI
• Originally developed as a tool for objectively
assessing the ability of US government
contractors‘s processes to implement a contracted
software project
• The model is based on the process maturity
framework first described in the 1989 book
Managing the Software Process by Watts
Humphrey
5. Development at Software Engineering Institute
• Active development of the model by the US
Department of Defence Software Engineering Institute
(SEI) began in 1986 when Humphrey joined the
Software Engineering Institute located at Carnegie
Mellon University in Pittsburgh, Pennsylvania after
retiring from IBM
• The full representation of the Capability Maturity
Model as a set of defined process areas and practices
at each of the five maturity levels was initiated in
1991, with Version 1.1 being completed in January
1993
• The CMM was published as a book in 1995
7. Levels 1: Initial (Chaotic)
It is characteristic of processes at this level that they
are undocumented and in a state of dynamic
change, tending to be driven in an ad hoc,
uncontrolled and reactive manner by users or
events. This provides a chaotic or unstable
environment for the processes
8. Levels 2 : Repeatable
It is characteristic of processes at this level that
some processes are repeatable, possibly with
consistent results. Process discipline is unlikely to be
rigorous, but where it exists it may help to ensure
that existing processes are maintained during times
of stress.
9. Levels 3: Defined
It is characteristic of processes at this level that
there are sets of defined and documented standard
processes established and subject to some degree of
improvement over time. These standard processes
are in place (i.e., they are the AS-IS processes) and
used to establish consistency of process
performance across the organization
10. Levels 4: Managed
It is characteristic of processes at this level that,
using process metrics, management can effectively
control the AS-IS process for software development .
In particular, management can identify ways to
adjust and adapt the process to particular projects
without measurable losses of quality or deviations
from specifications. Process Capability is established
from this level
11. Levels 5 : Optimizing
It is a characteristic of processes at this level that the
focus is on continually improving process
performance through both incremental and
innovative technological changes/improvements