An Examination Of The Capability Maturity Model
Essay by 24 • April 17, 2011 • 2,496 Words (10 Pages) • 1,386 Views
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 weaknesses throughout the software process which can then be improved and even applied in future processes. Organizations at this high level of maturity are able to refine software process and foster an environment of continuous process improvement.
Although the CMM can provide various benefits for an organization, all components can not easily be implemented in every type of organization. A component of the CMM that seems practical and readily achievable for a large enterprise is Project Planning. Although Project Planning involves significant resources such as time, money and manpower, it is essential for the success of any project. Within the CMM, Project Planning involves establishing plans for software engineering as well determining the most effective way of managing the project. A large organization typically employs a broad range of talent, of which those who are directly involved in the project can assist in the project planning. In comparison to smaller organization, large ones have access to a greater number of resources such as funding and training, and therefore are more able to plan the necessary components of the project. However, it must be noted that while a large organization does have the necessary resources to conduct concise project planning, well defined processes and effective communication are necessary components to acquire a successful project.
A component of the CMM that does not seem practical and readily achievable for a large enterprise is Software Project Tracking and Oversight. This process ensures that management are aware of the actual progress of the project and can therefore respond if the software projects performance deviates significantly from the initial plans. Ideally management would be involved in Software Project Tracking and Oversight, however typically once a project is underway management is not as involved as they had planned for. Management in a large organization is responsible for
...
...