![]() |
home | about Q/P | contact us | ||
![]() |
|||||
| article | ||||
![]() |
Emanuel R. Baker, Ph.D., and Frank J. Koch In 1991 the Software Engineering Institute (SEI) at Carnegie Mellon University introduced the Capability Maturity Model for Software (CMM). This event marked a major milestone in the evolution of software process management because, for the first time, the software community had a comprehensive description of how software organizations "mature" or improve, in their ability to develop software. The CMM defines five levels of process capability, each of which represents an evolutionary plateau towards a disciplined, measured, and continuously improving software process. The Initial Level At the Initial level (Level 1) few, if any, organized processes exist. Each developer utilizes whatever methods or techniques strike his or her fancy. The situation is sometimes described as chaotic and ad hoc. Software quality is more a matter of chance, and is highly dependent on the capabilities of specific individuals within the organization. The Repeatable Level To reach Level 2, a software development organization must put into place basic project management practices. This includes the capability to estimate the size of the software to be produced, estimate resources to execute the project, and track progress against these estimates. Also included is the implementation of software configuration management and quality assurance practices, the capability to effectively manage the requirements definition process, and the capability to manage subcontractors (if applicable). This level is referred to as the Repeatable level; the organization has mastered tasks previously learned. The organization is still highly dependent on individuals for the success of a project. In times of stress, the organization tends to revert back to behaving as a Level 1 organization. The Defined Level Level 3 is characterized as the Defined level. At this level, the organization has defined and established the software development and maintenance practices specific to the types of applications they produce. They have put into place a set of standards and procedures to codify these practices, and the organization follows them consistently. Training in these practices is provided. Peer reviews are performed as in-process evaluations of product quality. Integrated project management exists. The organization is no longer highly dependent on key individuals; the process belongs to the organization, not to individuals. At times of stress, the Level 3 practices are not abandoned. The Managed Level At Level 3 and below, the primary focus is on product quality. At Level 4 and above, the primary focus shifts to process quality (although some amount of attention is paid to process quality below Level 4). To reach Level 4, the Managed level, the organization focuses on establishing a set of process measures and uses them to initiate corrective actions. Once these measures have been established, the organization is ready to begin to use them to implement continuous process improvement. The Optimizing Level At Level 5, the Optimizing level, these measures are not only being used to improve existing processes, but also to evaluate candidate new processes. They are also being used as the basis for determining the efficacy of introducing new technologies into the organization. Using the CMM How can the CMM help your organization? There are three key roles the CMM plays. First, the CMM helps build an understanding of software process by describing the practices that contribute to a level of process maturity. The second role of the CMM is to provide a consistent basis for conducting appraisals of software processes. The CMM defines a scale for measuring process maturity, thus allowing an organization to accurately compare its process capability to that of another organization. ISO is using the CMM in its efforts to develop international standards for software process assessments. The CMM's third key role is to serve as a blueprint for software process improvement. The CMM can help an organization focus on the areas it must address in order to advance to the next level of maturity. Today, leading software organizations are adopting the CMM as their core strategy for improving quality and productivity. About the authors This article was written by Emanuel R. Baker, Ph.D., and Frank J. Koch, are Principals of Process Strategies, Inc., and an associate company of Q/P Management Group, Inc. © Copyright, 2000-2002. Q/P Management Group, Inc. Proprietary and Confidential. All Rights Reserved. |
|||