Capability Maturity Model Integration
From Wikipedia, the free encyclopedia
Capability Maturity Model Integration (CMMI) in software engineering and organizational development is a process improvement approach that provides organizations with the essential elements for effective process improvement. It can be used to guide process improvement across a project, a division, or an entire organization. CMMI helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes[2]
Contents |
[edit] Overview
CMMI is a collection of best practices that meet the needs of organizations in different areas of interest. A collection of best practices that cover a particular area of interest is called a CMMI model.
CMMI currently addresses three areas of interest: (1) Product and service development - CMMI for Development (CMMI-DEV), (2) Service establishment, management, and delivery - CMMI for Services (CMMI-SVC), and (3) Product and service acquisition - CMMI for Acquisition (CMMI-ACQ).
CMMI was developed by a group of experts from industry, government, and the Software Engineering Institute (SEI) at Carnegie-Mellon University. CMMI models provide guidance for developing or improving processes that meet the business goals of an organization. A CMMI model may also be used as a framework for appraising the process maturity of the organization.[1]
CMMI originated in software engineering but has been highly generalised over the years to embrace other areas of interest, such as the development of hardware products, the delivery of all kinds of services, and the acquisition of products and services. The word "software" does not appear in definitions of CMMI. This generalization of improvement concepts makes CMMI extremely abstract. It is not as specific to software engineering as its predecessor, the Software CMM (CMM, see below).
[edit] History
Capability Maturity Model Integration (CMMI) is developed by the CMMI project, which aimed to improve the usability of maturity models by integrating many different models into one framework. The project consisted of members of industry, government and the Carnegie Mellon Software Engineering Institute (SEI). The main sponsors included the Office of the Secretary of Defense (OSD) and the National Defense Industrial Association.
CMMI is the successor of the Capability Maturity Model (CMM) or Software CMM. The CMM was developed from 1987 until 1997. In 2002, CMMI Version 1.1 was released. Version 1.2 followed in August 2006.
[edit] CMMI topics
[edit] CMMI Representation
CMMI exists in two representations: continuous and staged.[1] The continuous representation is designed to allow the user to focus on the specific processes that are considered important for the organization's immediate business objectives, or those to which the organization assigns a high degree of risk. The staged representation is designed to provide a standard sequence of improvements, and can serve as a basis for comparing the maturity of different projects and organizations. The staged representation also provides for an easy migration from the SW-CMM to CMMI.[1]
[edit] CMMI Concepts
All CMMI models contain multiple Process Areas (PAs). A PA has 1 to 4 goals, and each goal is comprised of practices. These goals and practices are called specific goals and practices, as they describe activities that are specific to a single process area. An additional set of goals and practices applies across all of the process areas; this set is called generic goals and practices. Table 1 describes CMMI terminology in more detail.
Concept | Definition |
---|---|
AMPLIFICATION | Amplifications are informative model components that contain information relevant to a particular discipline. For example, to find an amplification for software engineering, one would look in the model for items labeled “For Software Engineering.” The same is true for other disciplines. |
CAPABILITY LEVEL | Achievement of process improvement within an individual process area. A capability level is defined by the appropriate specific and generic practices for a process area. |
CMMI MODEL | A model generated from the CMMI Framework. |
CONTINUOUS REPRESENTATION | A capability maturity model structure wherein capability levels provide a recommended order for approaching process improvement within each specified process area. |
GENERIC GOAL | A required model component that describes characteristics that must be present to institutionalize processes that implement a process area. |
GENERIC PRACTICE | An expected model component that is considered important in achieving the associated generic goal. The generic practices associated with a generic goal describe the activities that are expected to result in achievement of the generic goal and contribute to the institutionalization of the processes associated with a process area. |
GENERIC PRACTICE ELABORATIONS | An informative model component that appears after a generic practice to provide guidance on how the generic practice should be applied to the process area. |
GOAL | A required CMMI component that can be either a generic goal or a specific goal. The word goal in a CMMI model always refers to a model component (e.g., generic goal and specific goal). |
MATURITY LEVEL | Degree of process improvement across a predefined set of process areas in which all goals in the set are attained. |
PROCESS AREA | A cluster of related practices in an area that, when implemented collectively, satisfies a set of goals considered important for making improvement in that area. All CMMI process areas are common to both continuous and staged representations. |
REFERENCE | An informative model component that points to additional or more detailed information in related process areas. |
SPECIFIC GOAL | A required model component that describes the unique characteristics that must be present to satisfy the process area. |
SPECIFIC PRACTICE | An expected model component that is considered important in achieving the associated specific goal. The specific practices describe the activities expected to result in achievement of the specific goals of a process area. |
STAGED REPRESENTATION | A model structure wherein attaining the goals of a set of process areas establishes a maturity level; each level builds a foundation for subsequent levels. |
SUBPRACTICE | An informative model component that provides guidance for interpreting and implementing specific or generic practices. Subpractices may be worded as if prescriptive, but they are actually meant only to provide ideas that may be useful for process improvement. |
WORK PRODUCT | In the CMMI Product Suite, a useful result of a process. This can include files, documents, products, parts of a product, services, process descriptions, specifications, and invoices. A key distinction between a work product and a product component is that a work product is not necessarily part of the end product. |
[edit] Process areas of CMMI
(NB: this section moved from CMM, where it was irrelevant. It requires checking for relevance here in CMMI.)
Depending on the CMMI model you use, the process areas it contains will vary. key process areas indicating the aspects of that are to be covered by company processes. The table below lists the process areas that are present in all CMMI models. This collection of sixteen process areas is called the CMMI model foundation, or CMF.
Abbreviation | Name | Area | Maturity Level |
---|---|---|---|
REQM | Requirements Management | Engineering | 2 |
PMC | Project Monitoring and Control | Project Management | 2 |
PP | Project Planning | Project Management | 2 |
CM | Configuration Management | Support | 2 |
MA | Measurement and Analysis | Support | 2 |
PPQA | Process and Product Quality Assurance | Support | 2 |
OPD | Organizational Process Definition | Process Management | 3 |
OPF | Organizational Process Focus | Process Management | 3 |
OT | Organizational Training | Process Management | 3 |
IPM | Integrated Project Management | Project Management | 3 |
RSKM | Risk Management | Project Management | 3 |
DAR | Decision Analysis and Resolution | Support | 3 |
OPP | Organizational Process Performance | Process Management | 4 |
QPM | Quantitative Project Management | Project Management | 4 |
OID | Organizational Innovation and Deployment | Process Management | 5 |
CAR | Causal Analysis and Resolution | Support | 5 |
[edit] CMMI models
CMMI best practices are published in documents called models, which each address a different area of interest. There are now three areas of interest covered by CMMI models: Development, Acquisition, and Services. The current release of CMMI is Version 1.2. There are three version 1.2 models now available:
- CMMI for Development (CMMI-DEV), Version 1.2 was released in August 2006. It addresses product and service development processes.
- CMMI for Acquisition (CMMI-ACQ), Version 1.2 was released in November 2007. It addresses supply chain management, acquisition, and outsourcing processes in government and industry.
- CMMI for Services (CMMI-SVC), Version 1.2 was released in February 2009. It addresses guidance for delivering services within an organization and to external customers.
Regardless of which model an organization chooses, CMMI best practices should be adapted to each individual organization according to its business objectives. Organizations cannot be CMMI “certified.” Instead, an organization is appraised (e.g., using an appraisal method like SCAMPI) and is awarded a 1-5 level rating. The rating results of such an appraisal can be published if released by the appraised organization.[3]
[edit] Appraisal
Many organizations find value in measuring their progress by conducting an appraisal and earning a maturity level rating or a capability level achievement profile. These types of appraisals are typically conducted for one or more of the following reasons:
- To determine how well the organization’s processes compare to CMMI best practices and identify areas where improvement can be made
- To inform external customers and suppliers about how well the organization’s processes compare to CMMI best practices
- To meet the contractual requirements of one or more customers
Appraisals of organizations using a CMMI model[4] must conform to the requirements defined in the Appraisal Requirements for CMMI (ARC) document. Appraisals focus on identifying improvement opportunities and comparing the organization’s processes to CMMI best practices. Appraisal teams use a CMMI model and ARC-conformant appraisal method to guide their evaluation of the organization and their reporting of conclusions. The appraisal results are used (e.g., by a process group) to plan improvements for the organization.
There are three different Classes of appraisals. They are Class A, B, and C. In the Appraisal Requirements for CMMI (ARC) document, the requirements for CMMI appraisal methods are described.[5]
The Standard CMMI Appraisal Method for Process Improvement (SCAMPI) is an appraisal method that meets all of the ARC requirements. There are three Classes of SCAMPI appraisals Class A, B, C.[6]
A Class A appraisal is more formal and is the only one that can result in a level rating. Results of an appraisal may be published (if the appraised organization approves) on the CMMI Web site of the SEI: Published SCAMPI Appraisal Results. SCAMPI also supports the conduct of ISO/IEC 15504, also known as SPICE (Software Process Improvement and Capability Determination), assessments etc.
[edit] Achieving CMMI Compliance
The traditional approach that organizations often adopt to achieve compliance with the CMMI involves the establishment of an Engineering Process Group (EPG) and Process Action Teams (PATs) [7] This approach requires that members of the EPG and PATs be trained in the CMMI, that an informal (SCAMPI C) appraisal be performed, and that process areas be prioritized for improvement. More modern approaches that involve the deployment of commercially available, CMMI-compliant processes, can significantly reduce the time to achive compliance. SEI has maintained statistics on the "time to move up" for organizations adopting the earlier Software CMM and primarily using the traditional approach.[8] These statistics indicate that, since 1987, the median times to move from Level 1 to Level 2 is 23 months, and from Level 2 to Level 3 is an additional 20 months. These statistics have not been updated for the CMMI.
[edit] Applications
The SEI published that 60 organizations measured increases of performance in the categories of cost, schedule, productivity, quality and customer satisfaction.[9] The median increase in performance varied between 14% (customer satisfaction) and 62% (productivity). However, the CMMI model mostly deals with what processes should be implemented, and not so much with how they can be implemented. These results do not guarantee that applying CMMI will increase performance in every organization. A small company with few resources may be less likely to benefit from CMMI; this view is supported by the Process Maturity Profile (page 10). Of the small organizations (<25 employees), 70.5% are assessed at level 2: Managed, while 52.8% of the organizations with 1001–2000 employees are rated at the highest level (5: Optimizing).
Interestingly, Turner & Jain (2002) argue that although it is obvious there are large differences between CMMI and agile methods, both approaches have much in common. They believe neither way is the 'right' way to develop software, but that there are phases in a project where one of the two is better suited. They suggest one should combine the different fragments of the methods into a new hybrid method. Sutherland et al (2007) assert that a combination of Scrum and CMMI brings more adaptability and predictability than either one alone. David J. Anderson (2005) gives hints on how to interpret CMMI in an agile manner. Other viewpoints about using CMMI and Agile development are available on the SEI Web site.
The combination of the project management technique Earned value management (EVM) with CMMI has been described (Solomon, 2002). To conclude with a similar use of CMMI, Extreme Programming (XP), a software engineering method, has been evaluated with CMM/CMMI (Nawrocki et al., 2002). For example, the XP requirements management approach, (which relies on oral communication), was evaluated as not compliant with CMMI.
CMMI can be appraised using two different approaches: staged and continuous. The staged approach yields appraisal results as one of five maturity levels. The continuous approach yields one of six capability levels. The differences in these approaches are felt only in the appraisal; the best practices are equivalent and result in equivalent process improvement results.
[edit] See also
- Capability Maturity Model
- ISO 15504: The SPICE project
- Process area (CMMI)
- Process improvement
- Software Engineering Institute
- Software Engineering Process Group
[edit] References
- ^ a b c d Sally Godfrey (2008) What is CMMI ?. NASA presentation. Accessed 8 dec 2008.
- ^ What is CMMI?. Software Engineering Institute. Accessed 30 October 2008.
- ^ "SCAMPI Appraisal Results". Software Engineering Institute. http://sas.sei.cmu.edu/pars/. Retrieved on 22 August 2007.
- ^ For the latest published CMMI appraisal results see the SEI Web site.
- ^ "Appraisal Requirements for CMMI, Version 1.2". http://www.sei.cmu.edu/publications/documents/06.reports/06tr011.html. Retrieved on 23 September 2006.
- ^ "Standard CMMI Appraisal Method for Process Improvement (SCAMPISM) A, Version 1.2: Method Definition Document". CMU/SEI-2006-HB-002. Software Engineering Institute. 2006. http://www.sei.cmu.edu/publications/documents/06.reports/06hb002.html. Retrieved on 23 September 2006.
- ^ "Getting Started with CMMI Adoption". http://www.sei.cmu.edu/cmmi/adoption/cmmi-start.html. Retrieved on 4 January 2009.
- ^ "Process Maturity Profile". http://www.sei.cmu.edu/appraisal-program/profile/pdf/SW-CMM/2006marSwCMM.pdf. Retrieved on 4 January 2009.
- ^ "CMMI Performance Results, 2005". http://www.sei.cmu.edu/publications/documents/06.reports/06tr004.html. Retrieved on 2006-09-23.
[edit] Further reading
- Books and journals
- Ahern, Dennis M.; Armstrong, Jim; Clouse, Aaron; Ferguson, Jack; Hayes, Will; Nidiffer, Kenneth (2005). CMMI SCAMPI Distilled: Appraisals for Process Improvement. Addison-Wesley Professional. ISBN 0-8493-1654-5. http://www.sei.cmu.edu/publications/books/process/scampi-distilled.html.
- Ahern, Dennis M.; Clouse, Aaron; Turner, Richard (2003). CMMI Distilled: A Practical Introduction to Integrated Process Improvement. Addison-Wesley Professional. ISBN 0-8493-1654-5. http://www.sei.cmu.edu/cmmi/adoption/distilled.html.
- Anderson, David J. (July 2005). "Stretching agile to fit CMMI level 3 — the story of creating MSF for CMMI process improvement at Microsoft Corporation". Proceedings of the Agile Conference, Denver. http://www.agilemanagement.net/Articles/Papers/StretchingAgiletoFitCMMIL.html.
- Chrissis, Mary Beth; Konrad, Mike; Shrum, Sandy (2006). CMMI: Guidelines for Process Integration and Product Improvement (2nd Edition). Addison-Wesley Professional. ISBN 0321279670. http://www.sei.cmu.edu/cmmi/publications/cmmi-book-v12.html.
- Harkonen, J., Belt, P., Mottonen, M., Kess, P. & Haapasalo, H. (2009). "Maturity of verification and validation in ICT companies". International Journal of Innovation and Learning 6 (1): 33–50. doi:. http://www.inderscience.com/search/index.php?action=record&rec_id=21681&prevQuery=&ps=10&m=or.
- Kulpa, Margaret K.; Kent A. Johnson (2003). Interpreting the CMMI: A Process Improvement Approach. Auerbach Publications. ISBN 0-8493-1654-5.
- Turner, R. & Jain. A. (2002). "Agile Meets CMMI: Culture Clash or Common Cause?". Extreme Programming and Agile Methods – XP/Agile Universe 2002 2418: 153–165. doi: . ISBN 3-540-44024-0.
- Nawrocki, J.R.; Jasinski, M.; Walter, B.; Wojciechowski, A. (2002). "Extreme Programming Modified: Embrace Requirements Engineering Practices". Proceedings of the IEEE Joint International Conference on Requirements Engineering: 3. doi: .
- Sutherland, Jeff; Jakobsen, Carsten Ruseng; Johnson, Kent (2007). "Scrum and CMMI Level 5: The Magic Potion for Code Warriors" (PDF). Agile (IEEE Computer Society): 272–278. http://jeffsutherland.com/scrum/Sutherland-ScrumCMMI6pages.pdf.
- SEI reports
- "CMMI for Development, Version 1.2" (doc). CMMI-DEV (Version 1.2, August 2006). Carnegie Mellon University Software Engineering Institute. 2006. http://www.sei.cmu.edu/publications/documents/06.reports/06tr008.html. Retrieved on 22 August 2007.
- "CMMI for Acquisition, Version 1.2" (doc). CMMI-ACQ (Version 1.2, November 2007). Carnegie Mellon University Software Engineering Institute. 2007. http://www.sei.cmu.edu/publications/documents/07.reports/07tr017.html. Retrieved on 19 December 2007.
- "Process Maturity Profile (March 2007)" (PDF). CMMI v1.1 SCAMPI v1.1 Class A Appraisal Results 2006 End-Year Update. Software Engineering Institute. http://www.sei.cmu.edu/appraisal-program/profile/pdf/CMMI/2007marCMMI.pdf. Retrieved on 31 March 2007.
- "Appraisal Requirements for CMMI, Version 1.2 (ARC, V1.2)" (pdf). Carnegie Mellon University Software Engineering Institute. 2006. http://www.sei.cmu.edu/publications/documents/06.reports/06tr011.html. Retrieved on 22 August 2006.
- "Standard CMMI Appraisal Method for Process Improvement (SCAMPI) A Versiions 1.2: Method Definition Document" (doc). Carnegie Mellon University Software Engineering Institute. 2006. http://www.sei.cmu.edu/publications/documents/06.reports/06hb002.html. Retrieved on 22 August 2006.
- CMMI Guidebook Acquirer Team (2007). "Understanding and Leveraging a Supplier's CMMI Efforts: A Guidebook for Acquirers" (pdf). CMU/SEI-2007-TR-004. Software Engineering Institute. http://www.sei.cmu.edu/publications/documents/07.reports/07tr004.html. Retrieved on 23 August 2007.
- SEI web pages
- "CMMI Model Download". Software Engineering Institute. http://www.sei.cmu.edu/cmmi/models/. Retrieved on 28 December 2006.
- "History of CMMI". Software Engineering Institute. http://www.sei.cmu.edu/cmmi/faq/his-faq.html. Retrieved on 28 October 2006.
- "SEI Partner List". Software Engineering Institute. http://partner-directory.sei.cmu.edu. Retrieved on 28 October 2006.
[edit] External links
Wikimedia Commons has media related to: Capability Maturity Model Integration |
- "CMMI Models, Modules, and Reports". SEI. http://www.sei.cmu.edu/cmmi/models/index.html. Retrieved on 2008-02-01.
- SCAMPI Appraisal Results. The complete list of published SCAMPI appraisal results.
|