The capability maturity model integration technique is designed and developed by Software Engineering Institute. It is full process meta-model that is predicated on a set of system and software engineering capabilities that should be present organizations reach different levels of process capability and maturity model.
A maturity model is a degree of process improvement across a predefined set of process areas in which all goals in the set are achieved.
An organization should design or develop the process model which obeys CMMI model. The CMMI represents a process meta-model in two different ways as continuous model and stage model.
Each process area from the process model designed by an organization is checked against specific goals and practices and is rated to different capability levels. Process area could be project planning or requirement management.
Levels Of CMMI:
- Level 0 – Incomplete
- Level 1 – Performed
- Level 2 – Managed
- Level 3 – Defined
- Level 4 – Quantitatively Managed
- Level 5 – Optimized
The software companies get different level certification when they achieve that particular level’s goal.
Example : – Infosys is a top-most company in India which has certification of CMMI level 5 company. Initially, there were only five levels, but recently level 0 has been added by SEI (Software Engineering Institute).
Lets us now see a small description of different levels:
Level 0 – Incomplete
The level 0 states that the process area is either not performed or does not achieve all goal and objectives defined in CMMI level 1 capability. For example, we can consider ” Require Management“ as a process area.
Process Area: A process area is a cluster of related practices in an area that, when implemented collectively, satisfies a set of goals considered important for making improvement in this field. There are 21 process areas in CMMI model as mentioned below:
- Configuration Management
- Decision Analysis and Resolution
- Integrated Project Management
- Measurement and Analysis
- Organizational Innovation and Development
- Organizational Process Definition
- Organizational Process Focus
- Organizational Process Performance
- Organizational Training
- Project Monitoring and Control
- Project Planning
- Process and Product Quality Assurance
- Product Integration
- Quantitative Project Management
- Requirements Management
- Requirements Development
- Risk Management
- Supplier Agreement Management
- Technical Solution
Level 1 – Performed:
When all the specific areas defined by CMMI are satisfied, we can say that level 1 is completed. In this level work tasks which are required to produce the work, products are being conducted.
Level 2 – Managed:
When level 1 is achieved or completed then in addition to this all work associated with the process areas are compared or checked against the organizationally defined policy. It is even verified that all people doing the work have access to sufficient or adequate resources to get their job done.
Even stakeholders are invited in the process area as required. All the work tasks and work products should be “Monitored, controlled and reviewed and are evaluated for adherence to the process description.”
Level 3 – Defined:
All criteria defined in level 3 should be achieved. Also, the process is tailored from the organization’s set of standard processes according to the organization tailoring guidelines and contributes work products, measures and other process improvement information to the organizational process assets.
Level 4 – Quantitatively Managed:
All criteria of level 3 are achieved and in addition to this the process area controlled and improved using measurement and quantities assessment. “Quantities objectives for quality and process performance are established and used criteria in managing the process .”
Level 5 – Optimized:
All standards of level 4 have been achieved. Also, the process quality and process performance are established, and used criteria in managing the process adapted and optimized using quantities means to meet changing customer needs and to improve the efficiency of the process area under consideration continuously.
The CMMI defines each process area. These areas are identified regarding specific goals and specific practice required to achieve these aims. A particular purpose identifies or establishes the characteristics that must exist if the activities implied by process area are to be effective specific methods refine a goal into a set of process related activities.
The CMMI spirit should be adapted by software organizations its states that software development process should be taken seriously. It must be controlled equally, and it must always be tracked. All these quality assurances should be conducted professionally.
It must focus on the need of the project stakeholders. It is the choice of software organization whether to adopt this model or not. But this model should be discussed among the software development team members to understand the software engineering process and practice.