Updated July 5, 2023
Introduction to Capability Maturity Model Integration
Capability Maturity model is a maturity model applied within the context of Software process improvement framework. Capability Maturity model is a specific approach taken for quality assurance. Capability Maturity Model Integration (CMMI) is used to implement quality assurance in an organization. It describes an evolutionary improvement path from adhoc, immature process to a mature disciplined process which describes the key elements of an effective software process.
Capability maturity model integration includes key practices for planning, engineering and managing the software development and maintenance which helps in improving the ability of organizations to meet goals for cost, schedule, functionality and product quality. It helps in judging the maturity of organizations software development process and compares it to the state of practice of the industry.
Levels of Capability Maturity Model Integration
In capability maturity model integration, there are 5 levels of process maturity.
- Level 1 Initial: The software process is characterized as ad hoc and chaotic. Few processes are defined and the success generally depends upon individual efforts.
- Level 2 Repeatable: Basic project management processes are established to keep track of cost, schedule, and functionality. Then the same process is used to repeat earlier successes on projects with similar applications.
- Level 3 Defined: The software development process for both management and engineering activities is documented and integrated into standard software development process for organizations. All projects are use an approved, tailored version of the organization standard software process for developing and maintaining software.
- Level 4 Managed: Detailed measures of the software process and product quality are collected. Both software process and products are understood and controlled.
- Level 5 Optimizing: Continuous process improvement is done by continuous feedback from the process and inculcating innovative ideas and technologies.
At this level, the entire organization focuses on continuous quantities feedback from previous projects which is used to improve the project management. The software process at this level can be characterized as continuously improving the process performance of their projects. Improvement is done both by incremental enhancement in the existing process and by the innovations using new technologies and methods.
Key Process Areas
The above mentioned levels are decomposed into sever key process areas which are as follows:
- Process Change Management: To identify the causes of defects and prevent them from re-occurring.
- Technology Change Management: To identify beneficial new technologies and incorporate them in an orderly manner.
- Defect Prevention: To continuously improve the process in order to improve the quality productivity and thus decrease development schedule and cost.
Process Area Activities
- Software process improvement program is established which motivates the members of the organizations to improve the processes of the organizations.
- The group responsible for the organizations software process activities controls the software process improvement activities also.
- The organizations develops and maintain the plan for improving the software process according to the document procedure.
- The software process improvement activities are performed corresponding to the software process improvement plan.
- Members of the organizations participate in teams to improve Software process for assigned process areas.
- The software process improvement are installed to determine their benefits and effectiveness before they are introduced into normal practice.
- Records of the software process improvement activities are maintained.
- Software engineer receive feedback depending on the status and results of the software process improvement activities on an event driven basis.
Process Analysis and Modelling
- Process analysis is about studying the existing process to understand the relationship between different parts of the process and to analyze with other process.
- It is about documenting the development process.
- There are different process models. Exiting process models and process standards.
- It is always recommend to start process analysis with exiting model.
- It is the best technique for in depth analysis of process fragments rather than analyzing the whole process at once.
Drawback of Capability Maturity Model Integration
- The capability maturity model integration does not describe how to create an effective software development organization.
- The traits it measures are practically very hard to implement the organization.
Quality of the product depends on the process. If the process is weak then it leads to poor product. Quality of the product cannot be assured until and unless the defects or error in the product are removed. Quality assurance is a process of verifying or confirming that whether the products and services meet the customer experience or not. Capability maturity model integration is uses to implement this quality assurance. Here we have seen these concept with its process.
This is a guide to Capability Maturity Model Integration. Here we discuss the introduction, levels, key process areas, process area activities, analysis & modelling, drawback. You may also have a look at the following articles to learn more –