The Capability Maturity Model® (CMM®) for software is a widely accepted set of guidelines for developing high-performance software organizations. Watts Humphrey and his colleagues at IBM developed the original concept for the CMM in the early 1980s. Humphrey determined that the quality of an application was related directly to the quality of the process used to develop it. To improve application development processes, Humphrey wanted to implement the W. Edwards Deming continuous-improvement cycle (i.e., plan do check act). However, application developers had been installing improved development methods and technologies for a decade without gaining much improvement.
Humphrey observed that improved software development practices did not survive unless an application development (AD) organization's behavior changed to support them. His unique insight was that AD organizations had to remove impediments to continuous improvement in a specific order if they were to succeed. Consequently, Humphrey designed the process maturity framework, an evolutionary path to help AD organizations increase the capability of their AD processes in five stages (see Figure 1).

During the evolution through the five maturity levels, development practices are transformed from an ad hoc, undisciplined state into disciplined processes capable of predictable results. At its core, the CMM is a unique model of organizational development and change. As an AD organization progresses from one level to the next, its culture is transformed through the evolutionary improvement of its development processes. Each maturity level is characterized by the implementation and institutionalization of several clusters of practices (i.e., process areas) that contribute to the development capability achieved at that level (see Figure 2).

The Maturity Levels
Level 1: Initial At this base level, application development practices and results are inconsistent. Development processes rarely are defined, and sound practices often are sacrificed to meet unreasonable schedules. Although developers are capable of performing their assignments, they do so through individualized methods that show little consistency across the AD organization. Frequently, project management is weak and does not protect developers from the disruption created by unreasonable commitments or excessive requirements changes. Essentially, the Level 1 AD organization lacks the capability to consistently meet commitments.
Level 2: Managed It is critical first to establish a stable environment that facilitates the repetition of successful practices. Thus, Level 2 focuses on developing the capabilities of project managers to plan achievable commitments and establish control of requirement baselines and product configurations. Although projects may use different methods or practices, the environment must be stabilized to support their performance. AD organizations with Level 2 capabilities deliver their applications on schedule without having to survive on heroes and constant overtime.
Level 3: Defined After projects can repeat successful practices, AD organizations identify best practices from different projects. Subsequently, these procedures are integrated into a common AD process and deployed across the AD organization. Hence, a strong organizational culture emerges at Level 3 based on a common process that covers all the important elements of AD. Once all projects use tailored versions of a common AD process, an AD organization can begin comparing results, sharing lessons learned and transferring people more easily among projects. When an AD organization can begin estimating from historical data resulting from common processes, it is much easier to achieve targets for cost, functionality and scheduling.
Level 4: Quantitatively Managed Having established common AD processes, an AD organization then can develop statistical capability baselines that characterize the expected results from performing these procedures. These baselines provide a profound, quantitative understanding of the capability of development processes and the causes of variation in their performance. By managing the performance of its development processes statistically, an AD organization can predict and control project outcomes much earlier in the course of a project. Quantitative management allows greater empowerment of project teams and increased predictability of results for project management.
Level 5: Optimizing Despite the achievement of predictable results, targeted business objectives may not be achieved. At the highest level of maturity, an AD organization continuously evaluates the capability of its processes to pinpoint areas requiring the greatest improvement. Continuous improvements can be developed opportunistically by deploying the results of lessons learned, or they can be produced proactively by evaluating new development methods, processes or technologies for potential adoption. Ultimately, a Level 5 AD organization establishes an infrastructure for supporting continuous change management as a fundamental, integral component of its development process.
The CMM achieved widespread adoption because it broke the cycle of silver bullets and big bangs that characterized earlier attempts to improve AD. At each stage of its overall evolutionary improvement path, the CMM implemented an integrated collection of management and development practices that built on the infrastructure the AD organization had established at earlier maturity levels. These processes then became the new foundation for more sophisticated processes at the next level. Consequently, as an AD organization achieved the next level of maturity, the culture moved one step further away from its initial frenzied state toward an environment of professionalism and continuous improvement.
Source: Dr. Bill Curtis, TeraQuest a Gartner alliance partner
Writer: Carolyn LeVasseur, Gartner
®Capability Maturity Model and CMM® are registered at the U.S. Patent and Trademark Office.
|