Professional Documents
Culture Documents
1) Introduction of CMM 2
2) Timeline of CMM 3
3) Levels of CMM 4
4) Advantages and Disadvantages 5
5) Real Life Examples 5
Capability Maturity Model
A maturity model is a framework that is used as a benchmark for comparison when looking at
an organizations processes. It is specifically used when evaluating the capability to implement
data management strategies and the level at which that company could be at risk from said
strategies. Maturity is a measurement of the ability of an organization for continuous
improvement in a discipline. Most maturity models are assessing qualitatively people/culture,
processes/structures, and objects/technology.
The Capability Maturity Model (CMM) is a methodology used to develop and refine an
organization's software development process. It is a development model created after study of
data collected from organizations that contracted with the U.S. Department of Defense, who
funded the research. The term "maturity" relates to the degree of formality and optimization of
processes, from ad hoc practices, to formally defined steps, to managed result metrics, to
active optimization of the processes.
CMM was initially funded by military research. The US Air Force funded a study at Software Engineering
Institute to create a model for military to use as an objective evaluation of software subcontractors.
Then it was gradually developed as a tool for assessing the ability of government contractors processes
to implement contracted software projects. [1] It was widely used in government offices, commerce,
industry and software-development organizations. The CMM is no longer supported by the SEI and has
been superseded by the more comprehensive Capability Maturity Model Integration (CMMI).
1|Page
Levels of CMM
The model describes a five-level evolutionary path of increasingly organized and systematically
more mature processes. can be used to assess an organization against a scale of five process
maturity levels based on certain Key Process Areas (KPA). It describes the maturity of the
company based upon the project the company is dealing with and the clients. Each level ranks
the organization per its standardization of processes in the subject area being assessed. [1]
The software process is characterized as inconsistent, and occasionally even chaotic. Defined
processes and standard practices that exist are halted during a crisis. Success of the
organization majorly depends on an individual effort and talent. The heroes eventually move on
to other organizations taking their wealth of knowledge or lessons learnt with them. In terms of
people CMM Level 1 organizations are deficient in training at both the technical staff and
managerial levels. Process are usually ad hoc and the organization usually does not provide a
stable environment. Software project success depends on having quality people.
This level of Software Development Organization has a basic and consistent project
management processes to track cost, schedule, and functionality. The process is in place to
repeat the earlier successes on projects with similar applications. Program management is a
key characteristic of a level two organization. Software development successes are repeatable.
The processes may not repeat for all the projects in the organization. The organization may use
some basic project management to track cost and schedule. The processes may not repeat for
all the projects in the organization. The organization may use some basic project management
to track cost and schedule.
2|Page
The software process for both management and engineering activities are documented,
standardized, and integrated into a standard software process for the entire organization and
all projects across the organization use an approved, tailored version of the organization's
standard software process for developing, testing and maintaining the application. Theres a
difference between level 2 and level 3 in terms of scope of standards, process descriptions,
and procedures. At level 2 these may be quite different in each instance of process whereas in
level 3 they are tailored from organizations set to match the project set.
Management can effectively control the software development effort using precise
measurements. At this level, organization set a quantitative quality goal for both software
process and software maintenance. At this maturity level, the performance of processes is
controlled using statistical and other quantitative techniques, and is quantitatively predictable.
A critical distinction between maturity level 3 and maturity level 4 is the predictability of
process performance. At maturity level 4, the performance of processes is controlled using
statistical and other quantitative techniques, and is quantitatively predictable. At maturity level
3, processes are only qualitatively predictable.
The Key characteristic of this level is focusing on continually improving process performance
through both incremental and innovative technological improvements. At this level, changes to
the process are to improve the process performance and at the same time maintaining
statistical probability to achieve the established quantitative process-improvement objectives.
Focusing on continually improving process performance through both incremental and
innovative technological improvements.
A critical distinction between maturity level 4 and maturity level 5 is the type of process
variation addressed. [1] At maturity level 4, processes are concerned with addressing special
causes of process variation and providing statistical predictability of the results. Though
processes may produce predictable results, the results may be insufficient to achieve the
established objectives. At maturity level 5, processes are concerned with addressing common
causes of process variation and changing the process (that is, shifting the mean of the process
performance) to improve process performance (while maintaining statistical probability) to
achieve the established quantitative process-improvement objectives
3|Page
Advantages & Disadvantages
4|Page
During the past decade, software organizations conducting improvement programs guided by
the Capability Maturity Model (CMM) have reported gains in productivity, quality, time to
delivery, accuracy of cost and schedule estimates as well as product quality. Because aerospace
enterprises were the first to adopt the CMM, they were the source of much of the early data on
improvement benefits. Fortunately, improvement results are finally emerging from other
application developers, primarily in the United States and India. Many of the initial benefits
from CMM-based improvement programs result from eliminating rework. Enterprises such as
Hewlett Packard, Raytheon, TRW, and NASA have reported that when their processes were
immature, between 30 percent and 50 percent of their development effort was spent on fixing
mistakes. When rushing out code to meet unrealistic deadlines developers cut corners and
sacrifice sound development practices. Consequently, they generate scores of undetected
mistakes. As developers integrate and test their applications, a tsunami of defects emerges
and overwhelms the project with rework. By achieving CMM Level 2, projects can set realistic
expectations, commit to attainable deadlines and avoid the Level 1 death marches on nights
and weekends that produce excessive defects. In addition, since project managers track
progress against planned schedules, they can detect schedule slippages much earlier when it is
still possible to take corrective action. Corrective actions often involve negotiating additional
effort or reduced functionality.
High-maturity IS organizations (i.e., levels 4 and 5) can target specific problems, identify root
causes and make improvements with predictable effects.
Tata Consultancy Services offshore development center in Kolkata, India analyzed the root
causes for variation in the accuracy of their effort predictions for work packages.[1]
5|Page
They identified two rounds of improvements: the first in which common estimating guidelines
and tools were installed and the second in which the causes for specific types of product
defects were eliminated. Consequently, these efforts were rewarded by successively improved
estimating accuracy. This pattern is typical of AD organizations engaged in continuous
improvement.
Below figure displays effort distributions collected by a Boeing where it moved from Level 1 to
Level 4. At each level, they continued to reduce rework and increase the percentage of effort
involved in the original development activity). The most noteworthy reduction in schedule
variability occurred as they achieved Level 2, but reductions in defects, cycle time and costs
were greatest as they moved to levels 3 and 4. [1]
The CMM is used whenever a company wants to create predictability and effectiveness in its
processes. As the company's processes move from level one to level five, the predictability and
effectiveness of a company's processes increase. Each of the levels contains five definitions:
Goals
Commitment
Ability
Measurement
Verification
Finally, it is important to realize that companies cannot skip levels. This means there is no
hopping from level one to level four. Instead, a company must progress through each of these
levels to reach level five and to function at the highest level of productivity and efficiency.
6|Page
References:
1) Dr. Curtis, Bill, MeasureIT, Special Edition 2001, http://www.mce.hu/files/MeasureIT-
GartnersCMMmodel1278.pdf
2) Bowen, Ronda, 2013 http://www.brighthubpm.com/agile/56412-capability-maturity-models-
history-of-the-cmm/
3) https://en.wikipedia.org/wiki/Capability_Maturity_Model
4) http://www.selectbs.com/process-maturity/what-is-the-capability-maturity-model
5) Rouse, Margaret, Whalts.com, 2007,
http://searchsoftwarequality.techtarget.com/definition/Capability-Maturity-Model