According to SEI, CMMI (Capability Maturity Model Integration) is a process improvement maturity model for the development of products and services. It consists of best practices that address development and maintenance activities that cover the product lifecycle from conception through delivery and maintenance [5].
CMMI is available in two representations: staged or continuous. Each representation organizes process areas and the application of the generics to them differently. These two representations are really just different views of the same content. A staged representation may be said to focus on the organization's processes as a whole, to provide a roadmap for process improvement with proven predefined groupings of process areas, and to provide an easy migration path from the SW-CMM. A continuous representation may be said to focus on improvement to individual process areas chosen to align with specific organizational needs and to provide an easy migration path from Electronic Industries Alliance Interim Standard (EIA/IS) 731 [13].
The continuous representation groups process areas by affinity categories and designates capability levels for process improvement within each process area. The staged representation organizes process areas into five maturity levels to support and guide process improvement.
CMMI for Development (CMMI-DEV) [5], Version 1.2, describes 22 process areas. A process area is a group of related activities performed collectively to achieve a set of goals. In the context of these models, processes refer to "what to do" rather than "how to do it." A process area specifies goals that describe the result of successful application and practices that describe required (and expected) activities to achieve those goals. Some goals and practices are specific to the process area; others are generic and apply across all process areas. These generics describe essential ways in which a process can be institutionalized. Institutionalization refers to a process's degree of repeatability, standardization, and sophistication of control. Process areas can be grouped into four categories: Process Management, Project Management, Engineering and Support.