CMM was developed at the Software engineering institute in the late 80’s. It was developed as a result of a study financed by the U.S Air Force as a way to evaluate the work of subcontractors. Later based on the CMM-SW model created in 1991 to assess the maturity of software development, multiple other models are integrated with CMM-I they are

In this tutorial, we will learn,

What is Capability Maturity Model (CMM) Levels? What happens at different levels of CMM? How long does it Take to Implement CMM? Internal Structure of CMM Limitations of CMM Models Why Use CMM?

What is Capability Maturity Model (CMM) Levels?

Initial Repeatable/Managed Defined Quantitatively Managed Optimizing

What happens at different levels of CMM?

Following diagram, gives a pictorial representation of what happens at different CMM level

How long does it Take to Implement CMM?

CMM is the most desirable process to maintain the quality of the product for any software development company, but its implementation takes little longer than what is expected.

CMM implementation does not occur overnight It’s just not merely a “paperwork.” Typical times for implementation is 3-6 months -> for preparation 6-12 months -> for implementation 3 months -> for assessment preparation 12 months ->for each new level

Internal Structure of CMM

Each level in CMM is defined into key process area or KPA, except for level-1. Each KPA defines a cluster of related activities, which when performed collectively achieves a set of goals considered vital for improving software capability For different CMM levels, there are set of KPA’s, for instance for CMM model-2, KPA are

REQM- Requirement Management PP- Project Planning PMC- Project Monitoring and Control SAM- Supplier Agreement Management PPQA-Process and Quality Assurance CM-Configuration Management

Likewise, for other CMM models, you have specific KPA’s. To know whether implementation of a KPA is effective, lasting and repeatable, it is mapped on following basis

Commitment to perform Ability to perform Activities perform Measurement and Analysis Verifying implementation

Limitations of CMM Models

CMM determines what a process should address instead of how it should be implemented It does not explain every possibility of software process improvement It concentrates on software issues but does not consider strategic business planning, adopting technologies, establishing product line and managing human resources It does not tell on what kind of business an organization should be in CMM will not be useful in the project having a crisis right now

Why Use CMM?

Today CMM act as a “seal of approval” in the software industry. It helps in various ways to improve the software quality.

It guides towards repeatable standard process and hence reduce the learning time on how to get things done Practicing CMM means practicing standard protocol for development, which means it not only helps the team to save time but also gives a clear view of what to do and what to expect The quality activities gel well with the project rather than thought of as a separate event It acts as a commuter between the project and the team CMM efforts are always towards the improvement of the process

Summary

CMM was first introduced in late 80’s in U.S Air Force to evaluate the work of subcontractors. Later on, with improved version, it was implemented to track the quality of the software development system. The entire CMM level is divided into five levels.

Level 1 (Initial): Where requirements for the system are usually uncertain, misunderstood and uncontrolled. The process is usually chaotic and ad-hoc. Level 2 (Managed): Estimate project cost, schedule, and functionality. Software standards are defined Level 3 (Defined): Makes sure that product meets the requirements and intended use Level 4 (Quantitatively Managed): Manages the project’s processes and sub-processes statistically Level 5 (Maturity): Identify and deploy new tools and process improvements to meet needs and business objectives