Book Description
CMMI® (Capability Maturity Model® Integration) describes best practices for the development and maintenance of products and services across their entire lifecycle. By integrating essential bodies of knowledge, CMMI provides a single, comprehensive framework for organizations to assess their development and maintenance processes, implement improvements, and measure progress.
This book is a definitive reference for the most current release of CMMI (version 1.2). In the new edition, the authors have added tips, hints, and cross-references in the margins (in color) throughout the process areas to help you better understand, apply, and find more information about the content of the process areas. The book also now includes brief, insightful perspectives on CMMI written by people influential in the model’s creation, development, and transition. A new case study from Raytheon illustrates a real-world application of the model to a services organization. Whether you are new to CMMI or familiar with an earlier version, if you need to know about, evaluate, or put the latest version of CMMI into practice, this book is an essential resource.
The book is divided into three parts.
Part I offers the broad view of CMMI, beginning with basic concepts of process improvement. It describes the process areas, their components, and their relationships to each other. It explains the model’s two representations as well as paths to the adoption and use of CMMI for process improvement and benchmarking.
Part II, the bulk of the book, details the generic goals and practices and the twenty-two process areas now comprising CMMI. The process areas are organized alphabetically by acronym for easy look-up. Each chapter includes goals, best practices, and examples for a particular process area. The two CMMI representations are described so that you will easily see their similarities and differences and thereby be better able to choose the right approach for your organization.
Part III contains several useful resources, including CMMI-related references, acronym definitions, a glossary of terms, and an index.
From the Inside Flap
CMMI® (Capability Maturity Model® Integration) consists of best practices that address the development and maintenance of products and services covering the product life cycle from conception through delivery and maintenance.
A product can be an airplane, a digital camera, a video game component, an automated teller machine, a missile guidance system, or a software package available from a commercial retailer. It can also be a service such as delivering a training class, technical support for a software product, long-distance telephone service, data-processing services, and online banking.
CMMI integrates bodies of knowledge that are essential when developing products, but that have been addressed separately in the past, such as software engineering, systems engineering, and acquisition. By integrating these bodies of knowledge, CMMI provides a comprehensive solution for development and maintenance of products and services.
Purpose of This BookThis book is an extension of the CMMI Framework,1 which generated the full set of CMMI models released by the Software Engineering Institute (SEI) in January 2002. To use a CMMI model released by the SEI, you must choose from among the multiple models available based on your improvement needs. Therefore, to use the CMMI models published by the SEI, you need to know the content of each model and the area that you want to improve.
Unfortunately for many users, selecting a model from the SEI Web site appears difficult because they must make the up-front decision about which bodies of knowledge they want to address in their organizations and the approach they want to take to their process improvement efforts.
To facilitate CMMI use, this book provides a single source for all CMMI model information--a functional equivalent of the CMMI Framework. You do not have to select a particular model to get started--all of your choices are compiled here into one book. The book describes what is common across all CMMI models as well as what is different. It describes the basic concepts and the ways processes evolve as your organization improves. It will help you to understand the content of each CMMI model and to decide how CMMI can best address your needs.
AudienceThe audience for this book includes anyone interested in process improvement--whether you are familiar with the concept of Capability Maturity Models or whether you are seeking information to get started on your improvement efforts. It is intended for people who want 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 CMMI. This book is a must-have for process appraisal teams; members of process improvement groups; product development managers; product developers and maintainers, including software and systems engineers; and project management, computer science, and engineering educators.
Organization of This BookThis book maintains the integrity of the CMMI v1.1 models available on the SEI's Web site and serves as a guide for improvement of organizational processes. It is organized into three main parts:
- Part One--About CMMI
- Part Two--The Process Areas
- Part Three--The Appendices and Glossary
In writing this book, we enhanced and supplemented the original SEI materials. These improvements appear in Part One. Given the nature of the material in Part Two, we made only minor changes and added markings to identify and classify the content. In the glossary in Part Three, we've compiled a practical resource for understanding the "language" of CMMI.
Part One, "About CMMI," consists of seven chapters:
- Chapter 1, "Introduction," offers a broad view of CMMI. It introduces you
- to the concepts of process improvement and describes the benefits of CMMI, the history of models used for process improvement, and different process improvement approaches.
- Chapter 2, "Process Area Components," describes all of the components of the CMMI process areas.
- Chapter 3, "Process Institutionalization," describes the model components
- that ensure that the implementation of processes is effective, repeatable, and lasting.
- Chapter 4, "Relationships among Process Areas," provides insight into the meaning and interactions of the major CMMI components.
- Chapter 5, "Tying It All Together," assembles the model components and process infrastructure into the representations and explains the concepts of maturity level and capability level.
- Chapter 6, "Using CMMI Models," describes paths to adoption and use of CMMI for process improvement and benchmarking.
- Chapter 7, "A CMMI Case Study: United Space Alliance, LLC," describes the real-life experiences of an organization as it prepared to adopt CMMI. This chapter may help you plan your own organization's adoption of CMMI.
Part Two, "The Process Areas," contains 25 sections, one for each of the CMMI process areas.3 To facilitate your referring to them, these chapters are organized alphabetically by process area acronym. Each chapter contains descriptions of goals, best practices, and examples.
Part Three, "The Appendices and Glossary," consists of four 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.
- Appendix B, "Acronyms," defines the acronyms used in CMMI.
- Appendix C, "CMMI Project Participants," contains a list of people and their organizations who participated in the CMMI project. That project developed the models on which this book is based.
- The "Glossary" defines the terms used in CMMI.
Whether you are new to process improvement, new to CMMI, or already familiar with CMMI, this book can help you understand why CMMI is the best model to use for improving your product life-cycle processes.
Readers New to Process ImprovementIf you are new to process improvement or new to the CMM® concept, we suggest that you read chapter 1, "Introduction," and the case study in chapter 7 first. Chapter 1 will give you an overview of process improvement and explain what CMMI is all about. Chapter 7 will help you to see how CMMI can be used by an organization. When you read chapter 7 the first time, don't be concerned about understanding all the terminology or details. Just read it to get an overall feel for what's going on in the case study. Then, go back and read chapters 1 through 7. When you read chapter 7 again, after reading the balance of Part One, you will understand the details much better.
Next, skim Part Two to get a feel for the scope of the best practices contained in CMMI. Pay closest attention to the statement of purpose 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. Read through the acronyms and glossary to become familiar with the language of CMMI. Then, go back and read the details of Part Two.
Readers Experienced with Process ImprovementIf you are new to CMMI but have experience with other process-improvement models, such as the Software CMM or the Systems Engineering CM (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.
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 CMMIIf you have reviewed or used one of the CMMI models available on the SEI Web site, you will quickly recognize the CMMI concepts discussed and the best practices presented. The differences between this book and the SEI-released models are mainly found in Part One, "About CMMI."
Although the continuous and staged representations of the models' best practices are presented together in Part Two, no changes were made that affect the meaning or applicability of these best practices. In Part One, we added information about the benefits of process improvement and historical information about process-improvement models for readers new to process improvement or to the CMM, concept. We explained the vast similarities of the two representations reflected in the models and included detailed discussions of both capability levels and maturity levels and their importance in CMMI. To understand how the two representations have been formatted for Part Two, see the descriptions and illustrations of typographical conventions (Figures 2.2, 2.3, and 2.4) in chapter 2.
We also expanded the discussion of generic model components into a chapter that you will find more informative than what is found in the SEI-released models (see chapter 3). A chapter containing a case study of CMMI (chapter 7) was added to describe the real-life experience of an organization preparing to adopt CMMI.
In Part Three, "The Appendices and Glossary," we combined all terms and their definitions into the glossary, so that you can find definitions more quickly and easily. Terms are no longer addressed in a separate chapter in Part One.
As you read Part One, we recommend that you pay closest attention to chapter 3, "Process Institutionalization," and chapter 7, "CMMI Case Study: United Space Alliance, LLC." Review the format used in Part Two. This format helps you differentiate between the two representations.
Additional Information and Reader FeedbackYou 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. --This text refers to an alternate Hardcover edition.
From the Back Cover
Many organizations use Capability Maturity Models® (CMMs®) to assess development and maintenance processes, implement improvements, and measure progress. Although consistent in purpose, these models differ in terminology and design--enough sometimes to cause conflict and confusion when used within the same organization. Addressing the need for a more coordinated approach, Capability Maturity Model Integration (CMMI®) provides a single framework for improvement in software engineering, systems engineering, integrated product and process development, and supplier sourcing.
This book is the definitive reference for the most current release of CMMI models. To use a CMMI model available on the SEI Web site, users must choose from among multiple models based on their organization's improvement needs. This book provides a single source for all CMMI model information. Readers can get started without having to select a model first--all of the choices are compiled in one place and explained in detail.
The book begins with background information needed to understand the content and structure of these integrated models and how to use them. A case study illustrates their implementation in a real environment. A variety of practical material, such as glossary and index, is also provided. The bulk of the book comprises the content of all CMMI models, covering the 25 process areas (PAs) that span the product life cycle, including detailed best practices.
All CMMI models have two representations. The continuous representation allows an organization to improve using selected PAs at different rates. The staged representation enables organizations to follow a predefined and proven improvement path using multiple PAs. Both representations are described so that readers will more clearly see the similarities and differences between the two representations and will be able to choose the right approach for their organization.
Whether you are new to CMMI or are already familiar with some version of it, this book is an essential resource for managers, practitioners, and process improvement team members who need to understand, evaluate, and/or implement a CMMI model. The ultimate objective of CMMI is integrating processes to improve products; this book contains everything you need to get that done.
0321154967B01232003 --This text refers to an alternate Hardcover edition.
About the Author
Mary Beth Chrissis is a senior member of the technical staff at the Software Engineering Institute (SEI). Since joining the SEI in 1988, Mary Beth has been involved in all releases of CMMI models and the Capability Maturity Model for Software (SW-CMM). She is one of the primary contributors to The Capability Maturity Model: Guidelines for Improving the Software Process. Mary Beth is a member of the CMMI Architecture Team and CMMI Model Team. She is the manager of the SEI’s CMMI Training Team, which is responsible for the development and deployment of the SEI’s process improvement courses. Previously, she managed the CMMI Interpretive Guidance Project, which focused on understanding and addressing CMMI adoption issues and perceived barriers to CMMI adoption in the software community with a special focus on information technology, information systems (IS), and commercial software. Mary Beth is a member of the CMMI Configuration Control Board and is an instructor of various SW-CMM and CMMI model-related courses at the SEI. Prior to joining the SEI, Mary Beth worked at GTE Government Systems in Rockville, Maryland, developing a voice processing system. Mary Beth has a B.S. from Carnegie Mellon and is a member of the IEEE Software and Systems Engineering Standards Committee (S2ESC) Executive Committee.
Mike Konrad has been with the Software Engineering Institute since 1988. Currently, Mike is manager of the CMMI Models Team and chairs the CMMI Configuration Control Board, the approving body for changes to CMMI models and the Introduction to CMMI course. From 1988 through 1997, Mike contributed to the development of the Capability Maturity Model for Software (SW-CMM) and the ISO/IEC 15504 standard. Since the inception of the CMMI project in 1998, Mike has been leader or co-leader of every CMMI model development effort. Mike is also a member of the International Process Research Consortium (www.sei.cmu.edu/iprc). Prior to joining the SEI, Mike worked with International Software Systems, Inc. (ISSI) of Austin, Texas, where he contributed to the development of a rapid prototyping system. He has also worked with SAIC, George Mason University, University of Maryland, and Honeywell Information Systems. Mike obtained his Ph.D. in mathematics from Ohio University, Athens, Ohio, in 1978.
Sandy Shrum is a senior writer/editor at the Software Engineering Institute. She has been a member of the CMMI Development Team since the CMMI project’s inception in 1998. Her roles on the project have included Model Team member, Glossary Team leader, reviewer, editor, model development process administrator, and quality assurance coordinator. Sandy is also a member of the SEI Configuration Control Board, and is the CMMI communications coordinator. Before joining the SEI, Sandy spent eight years working for Legent Corporation, a Virginia-based software company. Her experience as a technical writer dates back to 1988, when she earned her M.A. in professional writing from Carnegie Mellon University. Her undergraduate degree, a B.S. in business administration, was earned at Gannon University.
Excerpt. © Reprinted by permission. All rights reserved.
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 from the 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 b...