CMMI
The CMMI is a process meta-model. It defines the process characteristics that should exist if an organization wants to establish a software process that is complete.
The spirit of the CMMI should always be adopted. At the risk of oversimplification, it argues that software development must be taken seriously—it must be planned thoroughly, it must be controlled uniformly, it must be tracked accurately, and it must be conducted professionally. It must focus on the needs of project stakeholders, the skills of the software engineers, and the quality of the end product. No one would argue with these ideas. The detailed requirements of the CMMI should be seriously considered if an organization builds large complex systems that involve dozens or hundreds of people over many months or years.
The CMMI represents a process meta-model in two different ways:
- As a “continuous” model
- As a “staged” model
The continuous CMMI meta- model describes a process in two dimensions as illustrated in Figure. Each process area (e.g., project planning or requirements management) is formally assessed against specific goals and practices and is rated according to the follow- ing capability levels:
- Level 0: Incomplete—the process area (e.g., requirements management) is either not performed or does not achieve all goals and objectives defined by the CMMI for level 1 capability for the process area.
- Level 1: Performed—all of the specific goals of the process area (as defined by the CMMI) have been satisfied. Work tasks required to produce defined work products are being conducted.
- Level 2: Managed—all capability level 1 criteria have been satisfied. In addi- tion, all work associated with the process area conforms to an organizationally defined policy; all people doing the work have access to adequate resources to get the job done; stakeholders are actively involved in the process area as Every organization should strive to achieve the intent of the CMMI. However, implementing every aspect of the model may be overkill in your situation. required; all work tasks and work products are “monitored, controlled, and reviewed; and are evaluated for adherence to the process description”.
- Level 2: Managed—all capability level 1 criteria have been satisfied. In addi- tion, all work associated with the process area conforms to an organizationally defined policy; all people doing the work have access to adequate resources to get the job done; stakeholders are actively involved in the process area as Every organization should strive to achieve the intent of the CMMI. However, implementing every aspect of the model may be overkill in your situation. required; all work tasks and work products are “monitored, controlled, and reviewed; and are evaluated for adherence to the process description” .
- Level 3: Defined—all capability level 2 criteria have been achieved. In addi- tion, the process is “tailored from the organization’s set of standard processes according to the organization’s tailoring guidelines, and con- tributes work products, measures, and other process-improvement informa- tion to the organizational process assets” .
- Level 4: Quantitatively managed—all capability level 3 criteria have been achieved. In addition, the process area is controlled and improved using measurement and quantitative assessment. “Quantitative objectives for qual- ity and process performance are established and used as criteria in managing the process”.
- Level 5: Optimized—all capability level 4 criteria have been achieved. In addition, the process area is adapted and optimized using quantitative (statistical) means to meet changing customer needs and to continually improve the efficacy of the process area under consideration.
The CMMI defines each process area in terms of “specific goals” and the “specific practices” required to achieve these goals. Specific goals establish the characteristics that must exist if the activities implied by a process area are to be effective. Specific practices refine a goal into a set of process-related activities.
Process areas required to achieve a maturity level.
Reference: Software Engineering A Practitioner's Approach (7th Ed.) ~ Roger S. Pressman