An Examination of the Capability Maturity Model
By: Stenly • Research Paper • 2,496 Words • June 2, 2010 • 1,511 Views
An Examination of the Capability Maturity Model
Table of Contents
Capability Maturity Model (CMM)… 3-6
People Capability Maturity Model (P-CMM)... 7-8
Software Acquisition Model (SA-CMM)… 8
Capability Model Model Integration (CMMI)… 9-11
CMM and ISO 9001… 11-12
A process is "a system of operations in producing something ... a series of actions, changes, or functions that achieve an end or result” (Webster’s Dictionary). With the growing emphasis on best practices a greater number of organizations are examining their process management strategies in an attempt to create efficiencies. This paper will introduce several models which are currently being used to improve process management. The paper mainly focuses on the Capability Maturity Model but also examines the People Capability Maturity Model, Software Acquisition Model, Capability Maturity Model Integration, and lastly the ISO 9001.
Capability Maturity Model
The Capability Maturity Model (CMM) is a framework used by organizations to develop and refine their software development process. The CMM was designed by Software Engineering Institute (SIE) to assist software organizations in identifying the need for process improvement strategies. The methodology of this model focuses on determining current process maturity in an organization and then identifying issues that are critical to the software quality and process improvements. Therefore, the CMM supports the theory that focusing on key issues and activities can steadily improve the software process capabilities throughout an organization.
The CMM provides a framework for laying the foundations for continuous process improvement throughout an organization. This framework is composed of 5 maturity levels that measure the maturity of an organizations software processes and evaluates the software process capabilities. Each of the 5 levels comprises a set of process goals that must be satisfied in order to stabilize an important component of the software process. An organization that achieves each level of the maturity framework establishes a different component within the software process, ultimately resulting in an increase in the process capability of the organization. The 5 levels of software process maturity: Initial, Repeatable, Defined, Managed, and Optimizing are shown below in Figure 1.
Figure 1: CMM Maturity Levels
Capability Maturity Model for Software, Version 1.1
During the Initial level the organizational processes are not defined, resulting in inefficiencies throughout the organization. Since software processes are unclear and not standardized, organizational productivity is reduced. This level fosters an unpredictable environment because the project does not follow standards and concise guidelines, but rather depends on the performance of individuals. An increased level of software process maturity by management results in the Repeatable level, which introduces more clearly defined basic project management processes to track costs, scheduling and functionality. As the name of this level suggests, processes have been established that enable previous results or successes to be repeated on future projects. An organization at this maturity level understands the need for well defined processes, however lacks this framework throughout the entire organization. The third level is Defined and consists of standardization of the software process for both management and engineering activities. At this maturity level all projects use an approved, well defined version of the organizations software process. Once an organization attains this standardization, they will work towards the Managed level. The Managed level goes beyond creating software process for repetition of successes, and instead challenges an organization to collect detailed information in relation to product quality and software process. Management is highly involved during this level to fully understand and identify ways of measuring the product quality and software process. During this level the process is both stable and controlled and therefore any variations are easily identifiable and thus can be addressed. During the Optimizing level, the software process is altered in response to the feedback from the quantitative analysis. Based on the results from their analysis, management are able to identify strengths and