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 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.
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.
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.
| 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 |
“Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates.”Copyright - © 2004 - 2019 - All Rights Reserved.