Capability Maturity Model Integration (CMMI) 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.
This latest iteration of the model as represented herein integrates bodies of knowledge that are essential for development and maintenance, but that have been addressed separately in the past, such as software engineering, systems engineering, hardware and design engineering, the engineering “-ilities,” and acquisition. 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 organization. CMMI for Development (CMMI-DEV) provides a comprehensive integrated solution for development and maintenance activities applied to products and services.
CMMI for Development, v1.2 is a continuation and update of CMMI v1.1 and has been facilitated by the concept of CMMI “constellations” wherein a set of core components can be augmented by additional material to provide application-specific models with highly common content. CMMI-DEV is the first of such constellations and represents the development area of interest.
Purpose
The purpose of CMMI for Development is to help organizations improve their development and maintenance processes for both products and services. This book is based on CMMI for Development, v1.2, which was produced fromthe CMMI Framework1 in August 2006. The CMMI Framework supports the CMMI Product Suite by allowing multiple models, training courses, and appraisal methods to be generated that support specific areas of interest.
A constellation is a collection of CMMI components that includes a model, its training materials, and appraisal-related documents for an area of interest. Currently there are three planned constellations supported by the v1.2 model framework: development, services, and acquisition. “Additions” are used to expand constellations for specific additional content.
This book contains the CMMI for Development constellation and contains both the base CMMI-DEV as well as CMMI-DEV with the IPPD group of additions (CMMI-DEV +IPPD). If you are not using IPPD, ignore the information that is marked “IPPD Addition” and you will be using the CMMI for Development model.
CMMI v1.2 Contributors
Many talented people were involved in the development of the CMMI v1.2 Product Suite. Three primary groups involved in this development were the Steering Group, Product Team, and Configuration Control Board.
The Steering Group guides and approves the plans of the Product Team, provides consultation on significant CMMI project issues, and ensures involvement from a variety of interested communities.
The Product Team writes, reviews, revises, discusses, and agrees on the structure and technical content of the CMMI Product Suite, including the framework, models, training, and appraisal materials. Development activities are based on multiple inputs. These inputs include an A-Specification and guidance specific to each release provided by the Steering Group, source models, change requests received from the user community, and input received from pilots and other stakeholders.
The Configuration Control Board is the official mechanism for controlling changes to the CMMI models and Introduction to CMMI training. As such, this group ensures integrity over the life of the product suite by reviewing all proposed changes to the baseline and approving only those changes that satisfy the identified issues and meet the criteria for the upcoming release.
Members of the groups that were involved in developing CMMI for Development v1.2 are listed in Appendix C.
Audience
The audience for this book includes anyone interested in process improvement in a development and maintenance environment. Whether you are familiar with the concept of Capability Maturity Models or whether you are seeking information to get started on your improvement efforts, this book will be useful to you.
This book also is intended for people who want to use an appraisal2 to see where they are, those who already know what they want to improve, and those who are just getting started and want to develop a general understanding of the CMMI for Development constellation. Thus, the audience for this book includes process appraisal teams; members of process improvement groups; project managers; product or service developers and maintainers, including software and systems engineers; and project management, computer science, and engineering and business educators.
Organization of This Book
This book serves as a guide for improvement of organizational processes. It is organized into three main parts:
- Part One—About CMMI for Development
- Part Two—Generic Goals and Generic Practices and the Process Areas
- Part Three—The Appendices and Glossary
Part One, “About CMMI for Development,” consists of six chapters:
- Chapter 1, “Introduction,” offers a broad view of CMMI and the CMMI for Development constellation. It introduces you to the concepts of process improvement and describes the history of models used for process improvement, and different process improvement approaches.
- Chapter 2, “Process Area Components,” describes all of the components of CMMI for Development that appear in Part Two.
- Chapter 3, “Tying It All Together,” assembles the model components and explains the concepts of maturity levels and capability levels.
- Chapter 4, “Relationships Among Process Areas,” provides insight into the meaning and interactions of the CMMI for Development process areas.
- Chapter 5, “Using CMMI Models,” describes paths to adoption and use of CMMI for process improvement and benchmarking.
- Chapter 6, “Case Study: Applying CMMI to Services at Raytheon,” is an additional chapter in this book that describes the real-life experiences of an organization as it applied CMMI best practices in a services context.
Throughout Part One we added perspectives on process improvement. Each perspective provides insight into a CMMI-related topic from an expert in the field. You will notice that each piece has a style that reflects the contributor.
Part Two, “Generic Goals and Generic Practices and the Process Areas,” contains all of the CMMI for Development constellation’s required and expected components. It also contains related informative components, including component names, subpractices, notes, and typical work products.
Part Two contains twenty-three sections. The first section contains the generic goals and practices, including a description of how they are used and how they relate to the process areas. The remaining twenty-two sections each represent one of the CMMI for Development process areas.3 To make these process areas easy to find, they are organized alphabetically by process area acronym and have tabs on the outside edge of the page. Each section contains descriptions of goals, best practices, and examples. Plus, we’ve added tips, hints, and cross-references in the outer margins to help explain concepts and relationships, and to provide other useful information.
Part Three, “The Appendices and Glossary,” consists of five information resources:
- Appendix A, “References,” contains references you can use to locate documented sources of information such as reports, process improvement models, industry standards, and books that are related to CMMI for Development.
- Appendix B, “Acronyms,” defines the acronyms used herein.
- Appendix C, “CMMI for Development Project Participants,” contains lists of people and their organizations who participated in the development of CMMI for Development, v1.2.
- Appendix D, the “Glossary” defines many of the terms used in CMMI.
How to Use This Book
Whether you are new to process improvement, new to CMMI, or already familiar with CMMI, Part One can help you understand why CMMI for Development is the best model to use for improving your development and maintenance processes.
Readers New to Process Improvement
If you are new to process improvement or new to the CMM concept, we suggest that you read Chapter 1, “Introduction,” first. Chapter 1 will give you an overview of process improvement and explain what CMMI is all about.
Next, skim Part Two, including generic goals and practices as well as specific goals and practices, to get a feel for the scope of the best practices contained in the model. Pay closest attention to the purpose and introductory notes at the beginning of each section.
In Part Three, look through the references in Appendix A and select additional sources you think would be beneficial to read before moving forward with using CMMI for Development. Read through the acronyms and glossary to become familiar with the language of CMMI. Then, go back and read the details of Part Two, including the tips and hints.
Readers Experienced with Process Improvement
If you are new to CMMI but have experience with other process improvement models, such as the Software CMM (v1.1) or the Systems Engineering Capability Model (i.e., EIA 731), you will immediately recognize many similarities.
We recommend that you read Part One to understand how CMMI is different from other process improvement models, but you may want to read some of the sections more quickly than others. Read Part Two with an eye open for best practices you recognize from the models you have already tried. Identifying familiar material gives you a feel for what is new and what has been carried over from the model you already know. Review the tips, hints, and cross-references to see details and relationships that will help you understand CMMI better.
Next, review the glossary to understand how some terminology may differ from that used in the process improvement model you know. Many concepts will be repeated, but they may be called something different.
Readers Familiar with CMMI
If you have reviewed or used a CMMI model before, you will quickly recognize the CMMI concepts discussed and the best practices presented. The differences between v1.2 and v1.1 are explained in detail on the SEI Web site in the v1.2 release notes. These differences reflect the enhancements suggested by the users of v1.1. Focus in on the tips, hints, and cross-references in the process areas to discover new ideas, relationships, or details you may have missed before.
What’s New
This book has significant improvements over the first edition. This second edition has new features we’ve added that you won’t find in the v1.2 models available online.
What’s New in Version 1.2
The following improvements were made to v1.2:
- Both representations are presented together.
- The advanced practice and common feature concepts have been removed.
- The generic goal and practice descriptions were moved to Part Two.
- Hardware amplifications were added.
- All definitions were consolidated in the glossary.
- IPPD practices were consolidated and simplified There are no longer any separate IPPD process areas.
- Supplier Agreement Management (SAM) and Integrated Supplier Management (ISM) were consolidated and Supplier Sourcing was removed.
- Generic practice (GP) elaborations were added to the level 3 GPs.
- An explanation of how process areas support the implementation of GPs was added.
- Material was added to ensure that standard processes are deployed to projects at their startup.
What’s New in the Second Edition
We added several features to the second edition that you will not find in the first edition.
- We added tips, hints, and cross-references in the margins throughout the process areas to help you better understand, apply, or find more information about the content of the process areas.
- We asked experts from various backgrounds to provide their perspective on process improvement. These Perspectives are placed throughout Part One and provide you with opinions from those with rich experience in process improvement.
- We added a case study applying CMMI to services that demonstrates how CMMI can be applied in different environments given persistence and insight. This case study replaces the one in the first edition that described an early adopter’s experience with CMMI.
Additional Information and Reader Feedback
You can find additional information from various other sources about CMMI, such as the background and history of the CMMI models, as well as the benefits of using CMMI models. Many of these sources are listed in Appendix A and are also published on the CMMI Web site—.
Notes:
1. The CMMI Framework is the basic structure that organizes CMMI components and combines them into CMMI constellations and models.
2. An appraisal is an examination of one or more processes by a trained team of professionals using a reference model (e.g., CMMI) as the basis for determining strengths and weaknesses.
3. A “process area” is a cluster of related best practices in an area, which, when implemented collectively, satisfies a set of goals considered important for making significant improvement in that area. We will cover this concept in detail in Chapter 2.