Opentopia Directory Encyclopedia Tools

Capability Maturity Model

Encyclopedia : C : CA : CAP : Capability Maturity Model


Capability Maturity Model (short names:CMM,CMMI,PCMM) is a collection of instructions an organization can follow with the purpose to gain better control over its software development process.

The CMM ranks software development organizations according to a hierarchy of five process maturity levels. Each level ranks the development environment according to its capability of producing quality software. A set of standards is associated with each of the five levels. The standards for level one describe the most immature, or chaotic, process, and the standards for level five describe the most mature, or quality, process. Currently an estimated 75% of software development organizations achieve only level 1 standards ([source as of May 10, 1998]).

The CMM was developed by the Software Engineering Institute (SEI) at Carnegie Mellon University in Pittsburgh in the mid-1980s. It has been used extensively for avionics software and government projects. Currently, some government departments require software development contract organization to achieve and operate at a level 3 standard.

Maturity model

The Capability Maturity Model (CMM) is a way to develop and refine an organization's software development process. A maturity model is a structured collection of elements that describe characteristics of effective processes. A maturity model provides: A maturity model can be used as a benchmark for assessing different organizations for equivalent comparison.

The SEI has subsequently released a revised version known as the Capability Maturity Model Integration (CMMI).

History

The Capability Maturity Model was initially funded by military research. The United States Air Force funded a study at the Carnegie-Mellon Software Engineering Institute to create a model (abstract) for the military to use as an objective evaluation of software subcontractors. The result was the Capability Maturity Model, published as Managing the Software Process in 1989. The CMM has since been revised and updated; version 1.1 is now in print and the entire text is available on-line at the SEI's Web site.

Context

In the 1970s, technological improvements made computers more widespread, flexible, and inexpensive. Organizations began to adopt more and more computerized information systems and the field of software development grew significantly. This led to an increased demand for developers—and managers—which was satisfied with less experienced professionals.

Unfortunately, there were growing pains: project failure became more commonplace not only because the field of computer science was still in its infancy, but also because projects became more ambitious in scale and complexity. In response, individuals such as Edward Yourdon, Larry Constantine, Gerald Weinberg, Tom DeMarco, and David Parnas published articles and books with research results in an attempt to professionalize the software development process.

Watts Humphrey's Capability Maturity Model (CMM) was described in the book Managing the Software Process (1989). The CMM as conceived by Watts Humphrey was based on the earlier work of Phil Crosby. Active development of the model by the SEI (US Dept. of Defense Software Engineering Institute) began in 1986.

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 processes (e.g., IT Service Management processes) in IS/IT (and other) organizations.

The model identifies five levels of process maturity for an organisation:

  1. Initial (chaotic, ad hoc, heroic) the starting point for use of a new process.
  2. Repeatable (project management, process discipline) the process is used repeatedly.
  3. Defined (institutionalised) the process is defined/confirmed as a standard business process.
  4. Managed (quantified) process management and measurement takes place.
  5. Optimising (process improvement) process management includes deliberate process optimisation/improvement.
Within each of these maturity levels are KPAs (Key Process Areas) which characterise that level, and for each KPA there are five definitions identified:
  1. Goals
  2. Commitment
  3. Ability
  4. Measurement
  5. Verification
The KPAs are not necessarily unique to CMM, representing - as they do - the stages that organisations must go through on the way to becoming mature.

The SEI has defined a rigorous process assessment method to appraise how well a software development organisation meets the criteria for each level.

The assessment is supposed to be led by an authorised lead assessor. One way in which companies are supposed to use the model is first to assess their maturity level and then form a specific plan to get to the next level. Skipping levels is not allowed.

NB: The CMM was originally intended as a tool to evaluate the ability of government contractors to perform a contracted software project. It may be suited for that purpose. When it became a general model for software process improvement, there were many critics.

Shrinkwrap companies, which have also been called commercial off-the-shelf firms or software package firms, included Claris, Apple, Symantec, Microsoft, and Lotus, amongst others. Many such companies rarely if ever managed their requirements documents as formally as the CMM described. This is a requirement to achieve level 2, and so all of these companies would probably fall into level 1 of the model.

Origins

The United States Air Force funded a study at the SEI to create a model for the military to use as an objective evaluation of software subcontractors. In 1989, the Capability Maturity Model was published as Managing the Software Process.

Timeline

Current state

Although these models have proved useful to many organizations, the use of multiple models has been problematic. Further, applying multiple models that are not integrated within and across an organization is costly in terms of training, appraisals, and improvement activities. The CMM Integration project was formed to sort out the problem of using multiple CMMs. The CMMI Product Team's mission was to combine three source models:

  1. The Capability Maturity Model for Software (SW-CMM) v2.0 draft C
  2. The Systems Engineering Capability Model (SECM)
  3. The Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98
  4. Supplier sourcing
CMMI is the designated successor of the three source models. The SEI has released a policy to sunset the Software CMM. The same can be said for the SECM and the IPD-CMM. These models are expected to be succeeded by CMMI.

Future direction

Suggestions for improving CMMI are welcomed by the SEI. For information on how to provide feedback, see the [CMMI Web site].

Levels of the CMM

(See chapter 2 of ([March 2002 edition of CMMISM from SEI]), page 11.)
There are five levels of the CMM. 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."

Level 1 - Initial

At maturity level 1, processes are usually ad hoc and the organization usually does not provide a stable environment. Success in these organizations depends on the competence and heroics of the people in the organization and not on the use of proven processes. In spite of this ad hoc, chaotic environment, maturity level 1 organizations often produce products and services that work; however, they frequently exceed the budget and schedule of their projects.

Maturity level 1 organizations are characterized by a tendency to over commit, abandon processes in the time of crisis, and not be able to repeat their past successes again.

Level 2 - Repeatable

At maturity level 2, software development successes are repeatable. The organization may use some basic project management to track cost and schedule.

Process discipline helps ensure that existing practices are retained during times of stress. When these practices are in place, projects are performed and managed according to their documented plans.

Project status and the delivery of services are visible to management at defined points (for example, at major milestones and at the completion of major tasks).

Basic project management processes are established to track cost, schedule, and functionality. The minimum process discipline is in place to repeat earlier successes on projects with similar applications and scope. There is still a significant risk of exceeding cost and time estimate

Level 3 - Defined

The organization’s set of standard processes, which is the basis for level 3, is established and improved over time. These standard processes are used to establish consistency across the organization. Projects establish their defined processes by the organization’s set of standard processes according to tailoring guidelines.

The organization’s management establishes process objectives based on the organization’s set of standard processes and ensures that these objectives are appropriately addressed.

A critical distinction between level 2 and level 3 is the scope of standards, process descriptions, and procedures. At level 2, the standards, process descriptions, and procedures may be quite different in each specific instance of the process (for example, on a particular project). At level 3, the standards, process descriptions, and procedures for a project are tailored from the organization’s set of standard processes to suit a particular project or organizational unit.

Level 4 - Managed

Using precise measurements, management can effectively control the software development effort. In particular, management can identify ways to adjust and adapt the process to particular projects without measurable losses of quality or deviations from specifications.

Subprocesses are selected that significantly contribute to overall process performance. These selected subprocesses are controlled using statistical and other quantitative techniques.

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.

Level 5 - Optimizing

Maturity level 5 focuses on continually improving process performance through both incremental and innovative technological improvements. Quantitative process-improvement objectives for the organization are established, continually revised to reflect changing business objectives, and used as criteria in managing process improvement. The effects of deployed process improvements are measured and evaluated against the quantitative process-improvement objectives. Both the defined processes and the organization’s set of standard processes are targets of measurable improvement activities.

Process improvements to address common causes of process variation and measurably improve the organization’s processes are identified, evaluated, and deployed.

Optimizing processes that are nimble, adaptable and innovative depends on the participation of an empowered workforce aligned with the business values and objectives of the organization. The organization’s ability to rapidly respond to changes and opportunities is enhanced by finding ways to accelerate and share learning.

A critical distinction between maturity level 4 and maturity level 5 is the type of process variation addressed. 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.

Extensions

Recent versions of CMMI from SEI indicate a "level 0", characterized as "Incomplete". Many observers leave this level out as redundant or unimportant, but Pressman and others make note of it. See page 18 of the [August 2002 edition of CMMI from SEI] (Note: PDF file).

Anthony Finkelstein[link] extrapolated that negative levels are necessary to represent environments that are not only indifferent, but actively counterproductive, and this was refined by Tom Schorsch[link] as the Capability Immaturity Model:

Process areas

For more details on this topic, see Process area (CMMI).
The CMMI contains several key process areas indicating the aspects of product development that are to be covered by company processes.

Key Process Areas of the Capability Maturity Model Integration (CMMI)
Abbreviation Name Area Maturity Level
CAR Causal Analysis and Resolution Support 5
CM Configuration Management Support 2
DAR Decision Analysis and Resolution Support 3
IPM Integrated Project Management Project Management 3
ISM Integrated Supplier Management Project Management 3
IT Integrated Teaming Project Management 3
MA Measurement and Analysis Support 2
OEI Organizational Environment for Integration Support 3
OID Organizational Innovation and Deployment Process Management 5
OPD Organizational Process Definition Process Management 3
OPF Organizational Process Focus Process Management 3
OPP Organizational Process Performance Process Management 4
OT Organizational Training Process Management 3
PI Product Integration Engineering 3
PMC Project Monitoring and Control Project Management 2
PP Project Planning Project Management 2
PPQA Process and Product Quality Assurance Support 2
QPM Quantitative Project Management Project Management 4
RD Requirements Development Engineering 3
REQM Requirements Management Engineering 2
RSKM Risk Management Project Management 3
SAM Supplier Agreement Management Project Management 2
TS Technical Solution Engineering 3
VAL Validation Engineering 3
VER Verification Engineering 3

Controversial aspects

The software industry is diverse and volatile. All methodologies for creating software have supporters and critics, and the CMM is no exception.

Praise

Criticism

The most beneficial elements of CMM Level 2 and 3

Companies appraised against the CMMI

Large numbers of IT companies across the world are in a foray to climb up in the CMMI level ladder. In June, 1999 Wipro of India became the first software services company in the world to attain SEI CMM maturity level 5, the highest of the maturity levels. Every year many IT companies in the world enter into the CMMI regime or improve their CMMI Levels. As on 2006 close to 75% of the CMMI level 5 software centers are in India. A majority of them are located at the city of Bangalore, for example

For a complete list view the [published SCAMPI results].

See also

References

External links

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: