Principal Contributors and Editors:
Mark C. Paulk, Charles V. Weber, Bill Curtis, Mary Beth Chrissis
"In every sense, the CMM represents the best thinking in the field today... this book is targeted at anyone involved in improving the software process, including members of assessment or evaluation teams, members of software engineering process groups, software managers, and software practitioners..." From the Foreword by Watts Humphrey
The Capability Maturity Model for Software (CMM) is a framework that demonstrates the key elements of an effective software process. The CMM describes an evolutionary improvement path for software development from an ad hoc, immature process to a mature, disciplined process, in a path laid out in five levels. When using the CMM, software professionals in government and industry can develop and improve their ability to identify, adopt, and use sound management and technical practices for delivering quality software on schedule and at a reasonable cost.
This book provides a description and technical overview of the CMM, along with guidelines for improving software process management overall. It is a sequel to Watts Humphrey's important work,Managing the Software Process,in that it structures the maturity framework presented in that book more formally.Features:
I. THE CAPABILITY MATURITY MODEL FOR SOFTWARE: BACKGROUND, CONCEPTS, STRUCTURES AND USAGE.1. Introducing Software Process Maturity.
The Evolution of the CMM.
Immature versus Mature Software Organizations.
Fundamental Concepts Underlying Process Maturity.
Total Quality Management and the CMM.
Benefits and Risks of Model-Based Improvement.2. The Software Process Maturity Framework.
Behavioral Characterization of the Maturity Levels.
Skipping Maturity Levels.
Visibility into the Software Process.
Prediction of Performance.3. The Structure of the Capability Maturity Model.
Internal Structure of the Maturity Levels .
Key Process Areas.
Common Features.4. Interpreting the CMM.
Interpreting the Key Practices.
The Key Process Area Template.
Interpreting the Common Features.
Organizational Structure and Roles.
Understanding Software Process Definition.
The Evolution of Processes.
Applying Professional Judgment.5. Using the CMM.
A CMM-Based Appraisal Method.
Process Assessments and Capability Evaluation.
Software Process Improvement.
Using the CMM in Context.6. A High-Maturity Example: Space Shuttle Onboard Software.
Approaches to Process Improvement.
II. THE KEY PRACTICES OF THE CAPABILITY MATURITY MODEL FOR SOFTWARE.7. The Key Areas for Level 2: Repeatable.
Software Project Planning.
Software Project Tracking and Oversight.
Software Subcontract Management.
Software Quality Assurance.
Software Configuration Management.8. The Key Process Areas for Level 3: Defined.
Organization Process Focus.
Organization Process Definition.
Integrated Software Management.
Software Product Engineering.
Peer Reviews.9. The Key Process Areas for Level 4: Managed.
Quantitative Process Management.
Software Quality Management.10. The Key Process Areas for Level 5:Optimizing.
Technology Change Management.
Process Change Management.Appendix A: References.
The Capability Maturity Model for Software is one of the best known products of the Software Engineering Institute. Thousands of copies of the two technical reports that comprise the CMM Paulk93a, Paulk93b have been distributed around the world. The CMM and related process products are having a significant impact on the software community, as evidenced by the current international standards effort on software process described in Appendix G.
This book integrates and elaborates the description of the CMM and how to interpret its practices. It contains the text of the key practices from Paulk93b verbatim, except for a few minor grammatical corrections listed in Appendix H.The authors have added the following material:
- A case study of IBM Houston's Space Shuttle project, which is frequently referred to as being at Level 5 (Chapter 6)
- Mapping between the key practices and the goals of the key process areas (Appendix E)
- A comparison of ISO 9001 and the CMM (Appendix F)
- An overview of ISO's SPICE project, which is developing international standards for software process improvement and capability determination (Appendix G)
The book is divided into two main parts. The first part consists of the chapters describing the evolution of the CMM, the concepts of software process maturity, the structure of the model, how to interpret and use the CMM, and the case study of IBM Houston. The second part consists of the key practices of the CMM, which describes the software management engineering practices of a maturing software process. Also included are a number of appendices that provide useful reference material.
This book is targeted at anyone involved in improving the software process, including members of appraisal teams, members of software engineering process groups, software managers, and software practitioners. It complements Humphrey's Managing the Software Process by formalizing the maturity framework described in that book.
This book does not describe all of the work being done by the SEI's Software Process Program. In particular, the SEI's work on software process definition, measurement, and organizational change may be of value to individuals working to improve the software process. For further information regarding the SEI, the CMM, or its associated products, contact:
SEI Customer Relations
Software Engineering Institute
Carnegie Mellon University
Pittsburgh, PA 15213-3890
The CMM is a living document, shaped by the needs of the software community. The SEI solicits feedback from our customers. Instructions for requesting changes to the CMM and a form for doing so are contained in Appendix I.