Introduction to Capability Maturity Model (CMM)

The Capability Maturity Model is a concept about process maturity, that was developed in the field of software development and which provides a general theoretical model for understanding the capability maturity of an organization’s software development business processes. Though the CMM is a process capability model continued to be used in the public domain, for Software Development processes it has been superseded by the Capability Maturity Model Integration (CMMI).

The origination of CMM can be traced to 1980’s. The US Air Force funded a study at the SEI (Software Engineering Institute) as several software military projects involving software sub constructors ran over-budget and under-scheduled in the 1980’s.

The result of this study was the development of a model for the usage in military as an objective assessment of software subcontractor’s process capability maturity. This lead to the publishing of book entitled ‘Managing the Software Process’ by Watts Humphrey in 1989. The basis for this was the ‘Quality Management Maturity Grid’ introduced by Philip Crosby in 1979 in his book ‘Quality is Free’.

Humphrey developed his process maturity concepts at IBM and later in the Software Engineering Institute (SEI) located at Carnegie Mellon University in Pittsburg, Pennsylvania. The Process maturity framework was formalized, initially to aid the U.S Department of Defense. Then organizations were evaluated using a process maturity questionnaire and method devised by Humphrey and his colleagues in SEI.

The full representation of the Capability Maturity Model was initiated in 1991, with version 1.1 completed in 1993. It was published as a book in 1995 by primary authors, Mark C. Paulk, Charles V. Weber, Bill Curtis, and Mary Beth Chrissis. For software development process it was superseded by the Capability Maturity Model Integration (CMMI).

The CMM identifies five levels of process maturity for an organization and within each of these levels are Key Process Areas (KPA’s) which characterize that level and for each KPA there are five main definitions identified which are Goals, Commitment, Ability, Measurement and Verification. According to 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."

The first level of process maturity is termed as Initial. Here the software process is characterized as ad hoc and sometimes even chaotic. The processes are typically undocumented and in a state of dynamic change tending to be driven in an uncontrolled manner by user’s or events. Success depends on individual effort.

The second level of process maturity is termed as Repeatable. Here the basic project management processes are in place to track cost, functionality and schedule. Process discipline is maintained to repeat earlier successes on projects with similar applications.

The third level of process maturity is termed as Defined. There are sets of defined and documented processes established, standardized and integrated into an organization wide software process that establish consistency of process performance. This level also includes all characteristics defined for level 2.

The fourth level of process maturity is termed as Managed. The software process and products are quantitatively understood and controlled using process metrics.
Process capability is established from this level. This level also includes all characteristics defined for level 3.

The fifth level of process maturity is termed as Optimizing. Here continuous process improvement is focused at by means of quantitative feedback and from incremental and innovative changes or improvements in technology. This level also includes all characteristics defined for level 4.

For each level of process maturity, KPA’s are defined and mapped having the following characteristics. Overall objective to be achieved by the KPA (Goals), requirements to be met for the goals to be achieved (Commitments), the process that must be in place for the organization to meet the commitments (Abilities) , the manner in which the activities are measured and verified for the proper practice of KPA (Measurement and Verification). For example at Process Maturity level 2 the KPA’s to be achieved are Software Configuration Management, Software quality assurance, Software subcontract management, software project tracking and oversight, software project planning and requirements management.

At Process maturity level 3 the KPA’s to be achieved are Peer Reviews, Inter group coordination, software product engineering, integrated software management, Training program, and organization process definition and organization process focus. At process maturity level 4, software quality management and quantitative process management should be achieved and for process maturity level 5, Process change management, Technology change management and Defect prevention should be achieved.

Each of the KPA is associated with a set of key practices which are policies, procedures and activities that must occur for the key process area to be completely instituted. According to definition be SEI ‘Key indicators are those key practices or components of key practices that offer the greatest insight into whether the goals of a key process area have been achieved.’

Thus the SEI approach can be used to measure the effectiveness of a company’s software practices. The Capability Maturity Model Integration (CMMI) can guide process improvement across project, divisions or an entire organization, the benefits ensuring quality of a system that is influenced by the quality of process and increase in product and service quality helping to attain business objectives.


SetApp - 100 Apps for everything you ever wanted to do on Mac

FREE Subscription

Subscribe to our mailing list and receive new articles
through email. Keep yourself updated with latest
developments in the industry.


Note : We never rent, trade, or sell my email lists to
anyone. We assure that your privacy is respected
and protected.


| Characterization of Materialized views and its types in Oracle10g | Introduction to Capability Maturity Model (CMM) | Introduction to Data Blocks, Extents and Segments –Logical Storage Structures in Oracle 10g Server | Oracle Application Server10g – Business Intelligence Services | Oracle Application Server10g – Content Management Services | Overview of Commit and Rollback – The Transaction Control Statements in Oracle 10g | Overview of Flashback Features in Oracle10g | Overview on Database Change Notification in Oracle10g | Overview on Implicit and Explicit Cursors in PL/SQL | Overview on Sequential Control and Conditional Control Statements in PL/SQL | Overview on some of the new features in Oracle Database 10g | Overview on the usage of Cursor Variables in PL/SQL | Performance Tuning in Oracle10g – Best Practices in Application Development | Representing Conditional Expressions as Data in Oracle10g | Understanding Indexes and their key benefits in Oracle10g | Understanding Oracle10g Application Server –Portal Services |

FREE Subscription

Stay Current With the Latest Technology Developments Realted to XML. Signup for Our Newsletter and Receive New Articles Through Email.



Note : We never rent, trade, or sell our email lists to anyone. We assure that your privacy is respected and protected.



Add to My Yahoo!

Visit XML Training Material Guide Homepage




“Amazon and the Amazon logo are trademarks of, Inc. or its affiliates.”

Copyright - © 2004 - 2019 - All Rights Reserved.