CMMI for Development — CMMI-DEV
CMMI-DEVThe Capability Maturity Model Integration is a process framework to develop, optimise, and assess organisational processes.
The prior designations of CMMI for systems engineering and software engineering (CMMI-SE/SW) are superseded by the title "CMMI for Development" to truly reflect the comprehensive integration of these bodies of knowledge and the application of the model within the organisation. CMMI for Development (CMMI-DEV) provides a comprehensive integrated solution for development and maintenance activities applied to products and services.
CMMI-DEV was developed by a group of experts from industry, government, and the Software Engineering Institute (SEI) at Carnegie-Mellon University. It provides guidance for developing or improving processes that meet the business goals of an organisation. As a CMMI model it may also be used as a framework for appraising the process maturity of the organisation.
CMMI-DEV has evolved from the learning, feedback and experience of software organisations across the world that deployed various models (ISO, CMM, etc.) for improving their processes. CMMI-DEV builds on and extends the proven practices of the Capability Maturity Model for Software (SW-CMM), the Systems Engineering Capability Model (SECM), and the Integrated Product Development Capability Maturity Model (IPD-CMM).
Apart from integrating the software and systems engineering areas, the model also links it all to the organisation's business objectives and also maintains a focus on meeting customer expectations. There are two representations of CMMI-DEV: Staged and Continuous, both containing essentially the same information but differing in the organisation, use and presentation of the model elements.
CMMI-DEV Version 1.2
CMMI-DEV, Version 1.2 is an upgrade of CMMI-SE/SW/IPPD/SS, Version 1.1. The focus of the CMMI Version 1.2 effort is on improving the quality of CMMI products and the consistency of how they are applied. Other portions of the CMMI Product Suite include the SCAMPI A appraisal method and the Introduction to CMMI training course.
The technical report of CMMI-DEV contains the two models that comprise the CMMI for Development constellation: the CMMI for Development and CMMI for Development + IPPD models. The model description report consists of three parts. Part one is the overview, which describes CMMI concepts, model components, and guidance on using the CMMI Product Suite. Part two contains the generic goals and practices and process areas, which are used by organisations to improve their development processes. Part three contains references, acronyms, project participants, and a glossary.
CMMI-DEV Version 1.3
CMMI High Maturity Lead Appraisers and the CMMI Steering Group at the SEI reviewed subsequently the notion of constellation models v.1.2 at a workshop in late September 2008. As a result, the Steering Group determined that modernising the practices for maturity levels 4 and 5 was a priority. The CMMI Steering Committee targeted CMMI v.1.3 to focus on:
- High maturity
- More effective General Practices
- Appraisal efficiency
- Commonality across the constellations
- All changes to the CMMI product suite (see below) have to meet certain primary criteria.
For more information see my post on CMMI 1.3 — Changes.
CMMI-DEV Process Areas
CMMI for Development, Version 1.3 is organized around 22 process areas that represent the core processes for software development.
The 22 process areas of CMMI-DEV are:
- Causal Analysis and Resolution (CAR) — identify causes of selected outcomes and take action to improve process performance.
- Configuration Management (CM) — establish and maintain the integrity of work products using configuration identification, configuration control, configuration status accounting, and configuration audits.
- Decision Analysis and Resolution (DAR) — analyze possible decisions using a formal evaluation process that evaluates identified alternatives against established criteria.
- Integrated Project Management (IPM) — establish and manage the project and the involvement of relevant stakeholders according to an integrated and defined process that is tailored from the organisation's set of standard processes.
- Measurement and Analysis (MA) — develop and sustain a measurement capability used to support management information needs.
- Organisational Performance Management — proactively manage the organisation's performance to meet its business objectives.
- Organisational Process Definition (OPM) — establish and maintain a usable set of organisational process assets, work environment standards, and rules and guidelines for teams.
- Organisational Process Focus (OPF) — plan, implement, and deploy organisational process improvements based on a thorough understanding of current strengths and weaknesses of the organisation's processes and process assets.
- Organisational Process Performance (OPD) — establish and maintain a quantitative understanding of the performance of selected processes in the organisation's set of standard processes in support of achieving quality and process performance objectives, and to provide process performance data, baselines, and models to quantitatively manage the organisation's projects.
- Organisational Training (OT) — develop skills and knowledge of people so they can perform their roles effectively and efficiently.
- Process and Product Quality Assurance (PPQA) — provide staff and management with objective insight into processes and associated work products.
- Product Integration (PI) — assemble the product from the product components, ensure that the product, as integrated, behaves properly (i.e., possesses the required functionality and quality attributes), and deliver the product.
- Project Monitoring and Control (PMC) — provide an understanding of the project's progress so that appropriate corrective actions can be taken when the project's performance deviates significantly from the plan.
- Project Planning (PP) — establish and maintain plans that define project activities.
- Quantitative Project Management (QPM) — quantitatively manage the project to achieve the project's established quality and process performance objectives.
- Requirements Development (RD) — elicit, analyze, and establish customer, product, and product component requirements.
- Requirements Management (RM) — manage requirements of the project's products and product components and to ensure alignment between those requirements and the project's plans and work products.
- Risk Management (RM) — identify potential problems before they occur so that risk handling activities can be planned and invoked as needed across the life of the product or project to mitigate adverse impacts on achieving objectives.
- Supplier Agreement Management (SAM) — manage the acquisition of products and services from suppliers.
- Technical Solution (TS) — select, design, and implement solutions to requirements. Solutions, designs, and implementations encompass products, product components, and product related lifecycle processes either singly or in combination as appropriate.
- Validation (VAL) — demonstrate that a product or product component fulfills its intended use when placed in its intended environment.
- Verification (VER)— ensure that selected work products meet their specified requirements.