Capability Maturity Model
Encyclopedia
The Capability Maturity Model (CMM) (a registered service mark
of Carnegie Mellon University
) is a development model that was created after study of data collected from organizations that contracted with the U.S. Department of Defense, who funded the research. This model became the foundation from which CMU created the Software Engineering Institute
(SEI). Like any model, it is an abstraction of an existing system.
When the CMM is applied to an existing organization's software development processes, it allows an effective approach toward improving them. Eventually it became clear that the model could be applied to other processes. This gave rise to a more general concept that is applied to business.
. It was later published in a report in 1993 (Technical Report CMU/SEI-93-TR-024 ESC-TR-93-177 February 1993, Capability Maturity Model for Software, Version 1.1) and as a book by the same authors in 1995.
Though the CMM comes from the field of software development
, it is used as a general model to aid in improving organizational business processes in diverse areas; for example in software engineering
, system engineering, project management
, software maintenance
, risk management
, system acquisition, information technology
(IT), services, business processes generally, and human capital management. The CMM has been used extensively worldwide in government offices, commerce, industry and software development organizations.
As a result, the growth was accompanied by growing pains: project failure was common, and the field of computer science was still in its early days, and the ambitions for project scale and complexity exceeded the market capability to deliver. Individuals such as Edward Yourdon
, Larry Constantine
, Gerald Weinberg
, Tom DeMarco
, and David Parnas
began to publish articles and books with research results in an attempt to professionalize the software development process.
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.
was developed by Philip B. Crosby in his book "Quality is Free".
The first application of a staged maturity model to IT was not by CMM/SEI, but rather by Richard L. Nolan
, who, in 1973 published the stages of growth model for IT organizations.
Watts Humphrey
began developing his process maturity concepts during the later stages of his 27 year career at IBM.
located at Carnegie Mellon University
in Pittsburgh, Pennsylvania
after retiring from IBM. At the request of the U.S. Air Force he began formalizing his Process Maturity Framework to aid the U.S. Department of Defense in evaluating the capability of software contractors as part of awarding contracts.
The result of the Air Force study was a model for the military to use as an objective evaluation of software subcontractors' process capability maturity. Humphrey based this framework on the earlier Quality Management Maturity Grid developed by Philip B. Crosby in his book "Quality is Free". However, Humphrey's approach differed because of his unique insight that organizations mature their processes in stages based on solving process problems in a specific order. Humphrey based his approach on the staged evolution of a system of software development practices within an organization, rather than measuring the maturity of each separate development process independently. The CMM has thus been used by different organizations as a general and powerful tool for understanding and then improving general business process performance.
Watts Humphrey's Capability Maturity Model (CMM) was published in 1988 and as a book in 1989, in Managing the Software Process.
Organizations were originally assessed using a process maturity questionnaire and a Software Capability Evaluation method devised by Humphrey and his colleagues at the Software Engineering Institute (SEI).
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 by its primary authors, Mark C. Paulk, Charles V. Weber, Bill Curtis, and Mary Beth Chrissis.
(CMMI) project was formed to sort out the problem of using multiple models
for software development processes, thus the CMMI model has superseded the CMM model, though the CMM model continues to be a general theoretical process capability model used in the public domain.
processes) in IS/IT (and other) organizations.
d levels that describe how well the behaviors, practices and processes of an organization can reliably and sustainably produce required outcomes.
A maturity model may provide, for example :
A maturity model can be used as a benchmark for comparison and as an aid to understanding - for example, for comparative assessment of different organizations where there is something in common that can be used as a basis for comparison. In the case of the CMM, for example, the basis for comparison would be the organizations' software development processes.
Within each of these maturity levels are Key Process Areas (KPAs) which characterise that level, and for each KPA there are five definitions identified:
The KPAs are not necessarily unique to CMM, representing — as they do — the stages that organizations must go through on the way to becoming mature.
The CMM provides a theoretical continuum along which process maturity can be developed incrementally from one level to the next. Skipping levels is not allowed/feasible.
N.B.
: The CMM was originally intended as a tool to evaluate the ability of government contractors to perform a contracted software project. It has been used for and may be suited to that purpose, but critics pointed out that process maturity according to the CMM was not necessarily mandatory for successful software development. There were/are real-life examples where the CMM was arguably irrelevant to successful software development, and these examples include many shrinkwrap companies (also called commercial-off-the-shelf or "COTS" firms or software package firms). Such firms would have included, for example, Claris, Apple, Symantec, Microsoft, and Lotus. Though these companies may have successfully developed their software, they would not necessarily have considered or defined or managed their processes as the CMM described as level 3 or above, and so would have fitted level 1 or 2 of the model. This did not - on the face of it - frustrate the successful development of their software.
Level 1 - Initial (Chaotic): It is characteristic of processes at this level that they are (typically) 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.
Level 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.
Level 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.
Level 4 - Managed: It is characteristic of processes at this level that, using process metrics, management can effectively control the AS-IS
process (e.g., 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.
Level 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.
At maturity level 5, processes are concerned with addressing statistical common causes of process variation and changing the process (for example, to shift the mean of the process performance) to improve process performance. This would be done at the same time as maintaining the likelihood of achieving the established quantitative process-improvement objectives.
Service mark
A service mark or servicemark is a trademark used in some countries, notably the United States, to identify a service rather than a product. When a service mark is federally registered, the standard registration symbol ® or "Reg U.S. Pat & TM Off" may be used...
of Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....
) is a development model that was created after study of data collected from organizations that contracted with the U.S. Department of Defense, who funded the research. This model became the foundation from which CMU created the Software Engineering Institute
Software Engineering Institute
The Carnegie Mellon Software Engineering Institute is a federally funded research and development center headquartered on the campus of Carnegie Mellon University in Pittsburgh, Pennsylvania, United States. SEI also has offices in Arlington, Virginia, and Frankfurt, Germany. The SEI operates...
(SEI). Like any model, it is an abstraction of an existing system.
When the CMM is applied to an existing organization's software development processes, it allows an effective approach toward improving them. Eventually it became clear that the model could be applied to other processes. This gave rise to a more general concept that is applied to business.
Overview
The Capability Maturity Model (CMM) was originally developed as a tool for objectively assessing the ability of government contractors' processes to perform a contracted software project. The CMM is based on the process maturity framework first described in the 1989 book Managing the Software Process by Watts HumphreyWatts Humphrey
Watts S. Humphrey was an American software engineer, key thinker in the discipline of software engineering, and was often called the "Father of Software quality".- Biography :...
. It was later published in a report in 1993 (Technical Report CMU/SEI-93-TR-024 ESC-TR-93-177 February 1993, Capability Maturity Model for Software, Version 1.1) and as a book by the same authors in 1995.
Though the CMM comes from the field of software development
Software development
Software development is the development of a software product...
, it is used as a general model to aid in improving organizational business processes in diverse areas; for example in software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
, system engineering, project management
Project management
Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...
, software maintenance
Software maintenance
Software Maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes....
, risk management
Risk management
Risk management is the identification, assessment, and prioritization of risks followed by coordinated and economical application of resources to minimize, monitor, and control the probability and/or impact of unfortunate events or to maximize the realization of opportunities...
, system acquisition, information technology
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...
(IT), services, business processes generally, and human capital management. The CMM has been used extensively worldwide in government offices, commerce, industry and software development organizations.
Prior need for software processes
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. The processes for software development were in their infancy, with few standard or "best practice" approaches defined.As a result, the growth was accompanied by growing pains: project failure was common, and the field of computer science was still in its early days, and the ambitions for project scale and complexity exceeded the market capability to deliver. Individuals such as Edward Yourdon
Edward Yourdon
Edward Nash Yourdon is an American software engineer, computer consultant, author and lecturer, and pioneer in the software engineering methodology...
, Larry Constantine
Larry Constantine
Larry LeRoy Constantine is an American software engineer and professor in the Mathematics and Engineering Department at the University of Madeira Portugal, who is considered one of the pioneers of computing...
, Gerald Weinberg
Gerald Weinberg
Gerald Marvin Weinberg is an American computer scientist, author and teacher of the psychology and anthropology of computer software development.- Biography :Gerald Weinberg was born and raised in Chicago...
, Tom DeMarco
Tom DeMarco
Tom DeMarco is an American software engineer, author, teacher and speaker on software engineering topics. He is known as one of the developers of Structured analysis in the 1980s.- Biography :...
, and David Parnas
David Parnas
David Lorge Parnas is a Canadian early pioneer of software engineering, who developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today. He is also noted for his advocacy of precise documentation.- Biography :Parnas earned...
began to publish articles and books with research results in an attempt to professionalize the software development process.
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
United States Air Force
The United States Air Force is the aerial warfare service branch of the United States Armed Forces and one of the American uniformed services. Initially part of the United States Army, the USAF was formed as a separate branch of the military on September 18, 1947 under the National Security Act of...
funded a study at the SEI.
Precursor
The Quality Management Maturity GridQuality Management Maturity Grid
The Quality Management Maturity Grid is an organizational maturity matrix conceived by Philip B. Crosby first published in his book Quality is Free in 1979...
was developed by Philip B. Crosby in his book "Quality is Free".
The first application of a staged maturity model to IT was not by CMM/SEI, but rather by Richard L. Nolan
Richard L. Nolan
Richard L. Nolan is an American business school professor. He has held various positions, including the Philip Condit Chair of Management at University of Washington and the William Barclay Harding Professor of Business Administration emeritus at Harvard Business School. A founder of consulting...
, who, in 1973 published the stages of growth model for IT organizations.
Watts Humphrey
Watts Humphrey
Watts S. Humphrey was an American software engineer, key thinker in the discipline of software engineering, and was often called the "Father of Software quality".- Biography :...
began developing his process maturity concepts during the later stages of his 27 year career at IBM.
Development at SEI
Active development of the model by the US Department of Defense Software Engineering Institute (SEI) began in 1986 when Humphrey joined the Software Engineering InstituteSoftware Engineering Institute
The Carnegie Mellon Software Engineering Institute is a federally funded research and development center headquartered on the campus of Carnegie Mellon University in Pittsburgh, Pennsylvania, United States. SEI also has offices in Arlington, Virginia, and Frankfurt, Germany. The SEI operates...
located at Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....
in Pittsburgh, Pennsylvania
Pittsburgh, Pennsylvania
Pittsburgh is the second-largest city in the US Commonwealth of Pennsylvania and the county seat of Allegheny County. Regionally, it anchors the largest urban area of Appalachia and the Ohio River Valley, and nationally, it is the 22nd-largest urban area in the United States...
after retiring from IBM. At the request of the U.S. Air Force he began formalizing his Process Maturity Framework to aid the U.S. Department of Defense in evaluating the capability of software contractors as part of awarding contracts.
The result of the Air Force study was a model for the military to use as an objective evaluation of software subcontractors' process capability maturity. Humphrey based this framework on the earlier Quality Management Maturity Grid developed by Philip B. Crosby in his book "Quality is Free". However, Humphrey's approach differed because of his unique insight that organizations mature their processes in stages based on solving process problems in a specific order. Humphrey based his approach on the staged evolution of a system of software development practices within an organization, rather than measuring the maturity of each separate development process independently. The CMM has thus been used by different organizations as a general and powerful tool for understanding and then improving general business process performance.
Watts Humphrey's Capability Maturity Model (CMM) was published in 1988 and as a book in 1989, in Managing the Software Process.
Organizations were originally assessed using a process maturity questionnaire and a Software Capability Evaluation method devised by Humphrey and his colleagues at the Software Engineering Institute (SEI).
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 by its primary authors, Mark C. Paulk, Charles V. Weber, Bill Curtis, and Mary Beth Chrissis.
CMM is Superseded by CMMI
The CMM model proved useful to many , but its application in software development has sometimes been problematic. Applying multiple models that are not integrated within and across an organization could be costly in training, appraisals, and improvement activities. The Capability Maturity Model IntegrationCapability Maturity Model Integration
Capability Maturity Model Integration is a process improvement approach whose goal is to help organizations improve their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization...
(CMMI) project was formed to sort out the problem of using multiple models
for software development processes, thus the CMMI model has superseded the CMM model, though the CMM model continues to be a general theoretical process capability model used in the public domain.
Adapted to other processes
The CMM was originally intended as a tool to evaluate the ability of government contractors to perform a contracted software project. Though it comes from the area of software development, it can be, has been, and continues to be widely applied as a general model of the maturity of process (e.g., IT service managementIT Service Management
IT service management is a discipline for managing information technology systems, philosophically centered on the customer's perspective of IT's contribution to the business. ITSM stands in deliberate contrast to technology-centered approaches to IT management and business interaction...
processes) in IS/IT (and other) organizations.
Maturity model
A maturity model can be viewed as a set of structureStructure
Structure is a fundamental, tangible or intangible notion referring to the recognition, observation, nature, and permanence of patterns and relationships of entities. This notion may itself be an object, such as a built structure, or an attribute, such as the structure of society...
d levels that describe how well the behaviors, practices and processes of an organization can reliably and sustainably produce required outcomes.
A maturity model may provide, for example :
- a place to start
- the benefit of a community’s prior experiences
- a common language and a shared vision
- a framework for prioritizing actions.
- a way to define what improvement means for your organization.
A maturity model can be used as a benchmark for comparison and as an aid to understanding - for example, for comparative assessment of different organizations where there is something in common that can be used as a basis for comparison. In the case of the CMM, for example, the basis for comparison would be the organizations' software development processes.
Structure
The Capability Maturity Model involves the following five aspects:- Maturity Levels: a 5-level process maturity continuum - where the uppermost (5th) level is a notional ideal state where processes would be systematically managed by a combination of process optimization and continuous process improvement.
- Key Process Areas: a Key Process Area (KPA) identifies a cluster of related activities that, when performed together, 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. There are five types of common features: 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 KPAs.
Levels
There are five levels defined along the continuum of the CMM and, according to the SEI: "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".- Initial (chaotic, ad hoc, individual heroics) - the starting point for use of a new or undocumented repeat process.
- Repeatable - the process is at least documented sufficiently such that repeating the same steps may be attempted.
- Defined - the process is defined/confirmed as a standard business process, and decomposed to levels 0, 1 and 2 (the latter being Work Instructions).
- Managed - the process is quantitatively managed in accordance with agreed-upon metrics.
- Optimizing - process management includes deliberate process optimization/improvement.
Within each of these maturity levels are Key Process Areas (KPAs) which characterise that level, and for each KPA there are five definitions identified:
- Goals
- Commitment
- Ability
- Measurement
- Verification
The KPAs are not necessarily unique to CMM, representing — as they do — the stages that organizations must go through on the way to becoming mature.
The CMM provides a theoretical continuum along which process maturity can be developed incrementally from one level to the next. Skipping levels is not allowed/feasible.
N.B.
Nota Bene
Nota bene is an Italian and Latin phrase meaning "note well". The phrase first appeared in writing circa 1721.Often abbreviated as "N. B.", nota bene comes from the Latin roots notāre and bene . It is in the singular imperative mood, instructing one individual to note well the matter at hand...
: The CMM was originally intended as a tool to evaluate the ability of government contractors to perform a contracted software project. It has been used for and may be suited to that purpose, but critics pointed out that process maturity according to the CMM was not necessarily mandatory for successful software development. There were/are real-life examples where the CMM was arguably irrelevant to successful software development, and these examples include many shrinkwrap companies (also called commercial-off-the-shelf or "COTS" firms or software package firms). Such firms would have included, for example, Claris, Apple, Symantec, Microsoft, and Lotus. Though these companies may have successfully developed their software, they would not necessarily have considered or defined or managed their processes as the CMM described as level 3 or above, and so would have fitted level 1 or 2 of the model. This did not - on the face of it - frustrate the successful development of their software.
Level 1 - Initial (Chaotic): It is characteristic of processes at this level that they are (typically) 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.
Level 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.
Level 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
As is
As is is a legal term used to disclaim some implied warranties for an item being sold. Certain types of implied warranties must be specifically disclaimed, such as the implied warranty of title...
processes) and used to establish consistency of process performance across the organization.
Level 4 - Managed: It is characteristic of processes at this level that, using process metrics, management can effectively control the AS-IS
As is
As is is a legal term used to disclaim some implied warranties for an item being sold. Certain types of implied warranties must be specifically disclaimed, such as the implied warranty of title...
process (e.g., 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.
Level 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.
At maturity level 5, processes are concerned with addressing statistical common causes of process variation and changing the process (for example, to shift the mean of the process performance) to improve process performance. This would be done at the same time as maintaining the likelihood of achieving the established quantitative process-improvement objectives.
Software process framework
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:Type | Description |
---|---|
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:
|
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:
|
See also
- Capability Immaturity Model
- Capability Maturity Model IntegrationCapability Maturity Model IntegrationCapability Maturity Model Integration is a process improvement approach whose goal is to help organizations improve their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization...
- People Capability Maturity ModelPeople Capability Maturity ModelPeople Capability Maturity Model is a maturity framework that focuses on continuously improving the management and development of the human assets of an organization...
- Testing Maturity ModelTesting Maturity ModelThe Testing Maturity Model was based on the Capability Maturity Model, and first produced by the Illinois Institute of Technology.Its aim to be used in a similar way to CMM, that is to provide a framework for assessing the maturity of the test processes in an organisation, and so providing targets...