The Capability Maturity Model (CMM) was developed by Carnegie Mellon University in the 1980s to assist the U.S. government in ensuring software development contractors had adequate processes to successfully deliver projects. CMM now provides a method for organizations to evaluate and improve their processes. Similar models have originated from the CMM.
CMM describes a framework of five maturity levels of an organization’s processes. The initial level is the lowest maturity level. When an organization’s processes are level one, the projects receive little planning. Key disciplines may not be included when needed, and the product is not optimized. The process is unpredictable and changing, and project results rely heavily on the talents and skills of the development staff.
The second level of the CMM is known as the repeatable level, where some policies for project development have been established and are being managed. Unauthorized changes are controlled. Effective practices from prior projects have been identified and are repeated.
In the third, or defined level, the overall process is documented, and sub-processes are incorporated in a logical manner. At this level, processes help development staff and management to improve. The processes may be tailored to fit the specific requirements of a particular project. Analysis of inputs, outputs, and reviews may be included, and team member’s roles and responsibilities are well understood.
The fourth level is called the managed level. In this level, processes have had metrics developed and they are being measured. Increased project control is attained, variations in process results are decreased, and the variations remain in an acceptable range. If results are out of range, they are identified and corrective action is taken.
At the top, the most mature level is the fifth level. At this optimizing level, the organization as a whole concentrates on continuously improving its processes. The objective is to prevent defects. Data on defects is captured and analyzed, and processes are revised to drive down the rate of defects. Lessons learned are also captured and reported.
Along with the process maturity levels, CMM also incorporates several other concepts. One concept is that of key process areas (KPAs), which are related activities that achieve critical objectives. Other concepts include the use of goals, which document scope, boundaries, and intent as they relate to the KPAs. Common features, another CMM concept, are organizational process practices that incorporate KPAs.
Though CMM was initially developed for the software development process, it is commonly used to improve many types of processes. It is still prevalent in Information Technology management, particularly in delivering information technology services and managing hardware. In many organizations, use of CMM for software development has been replaced by the Capability Maturity Model Integration (CMMi) program. CMMi was developed to better integrate the use of multiple models into an overarching structure.