Introduction

1 Introducing the Key Practices Document

1.1 To the Reader

Developing reliable and usable software that is delivered on time and within budget is a difficult endeavor for many organizations. Products that are late, over budget, or that don't work as expected also cause problems for the organization's customers. As software projects continue to increase in size and importance, these problems become magnified. These problems can be overcome through a focused and sustained effort at building a process infrastructure of effective software engineering and management practices.

To build this process infrastructure, organizations producing software need ways to appraise their ability to perform their software process successfully. They also need guidance to improve their process capability. Customers, such as the Department of Defense (DoD), need ways to evaluate more effectively an organization's capability to perform successfully on software engineering contracts. Prime contractors need ways to evaluate the capability of potential subcontractors.

To help organizations and customers like the DoD and prime contractors, the Software Engineering Institute (SEI) has developed the Capability Maturity Model for Software (CMM), that delineates the characteristics of a mature, capable software process. The progression from an immature, unrepeatable software process to a mature, well-managed software process also is described in terms of maturity levels in the model.

The CMM can be used for:

  • software process improvement, in which an organization plans, develops, and implements changes to its software process;

  • software process assessments, in which a trained team of software professionals determines the state of an organization's current software process, determines the high-priority software process-related issues facing an organization, and obtains the organizational support for software process improvement; and

  • software capability evaluations, in which a trained team of professionals identifies contractors who are qualified to perform the software work or monitors the state of the software process used on an existing software effort.

      This document describes the key practices that correspond to each maturity level in the CMM. It is an elaboration of what is meant by maturity at each level of the CMM and a guide that can be used for software process improvement, software process assessments, and software capability evaluations.

      The key practices of the CMM are expressed in terms of what is expected to be the normal practices of organizations that work on large, government contracts. In any context in which the CMM is applied, a reasonable interpretation of how the practices would be applied should be used. Guidelines on interpreting the CMM are contained in Chapter 4 of this document. The CMM must be appropriately interpreted when the business environment of the organization differs significantly from that of a large contracting organization. The role of professional judgment in making informed use of the CMM must be recognized.

      This document can be used in several ways:

      • by anyone wanting to understand the key practices that are part of effective processes for developing or maintaining software,

      • by anyone wanting to identify the key practices that are needed to achieve the next maturity level in the CMM,

      • by organizations wanting to understand and improve their capability to develop software effectively,

      • by acquisition organizations or prime contractors wanting to identify the risks of having a particular organization perform the work of a contract,

      • by the SEI as the basis for developing process products, such as the maturity questionnaire, and

      • by instructors preparing teams to perform software process assessments or software capability evaluations.

      1.2 Relationship of this Document to Other Documents

      The two documents that provided the initial foundation for the CMM are:

      • "Characterizing the Software Process" [Humphrey88], and

      • "Managing the Software Process" [Humphrey89].

      Version 1.0 of the CMM was released in August of 1991 in two technical reports:

      • "Capability Maturity Model for Software" [Paulk91], and

      • "Key Practices of the Capability Maturity Model" [Weber91].

      This initial release of the CMM was revised during 1992. To understand and use the current version of the CMM, two documents are needed:

      • "Capability Maturity Model for Software, Version 1.1" [Paulk93a], and

      • this document, "Key Practices of the Capability Maturity Model, Version 1.1" [Paulk93b].

      "Capability Maturity Model for Software, Version 1.1" contains an introduction to the model, descriptions of the five maturity levels, an operational definition of the CMM and its structure, a discussion of how organizations can use the maturity model, and some remarks on the future directions of the CMM.

      "Key Practices of the Capability Maturity Model, Version 1.1," contains the key practices that correspond to the key process areas at each maturity level of the CMM and information to help interpret the key practices.

      The maturity questionnaire and other process products are derived from the key practices of the Capability Maturity Model. Other SEI process products that support software process improvement, software process assessment, and software capability evaluation include training courses, handbooks, and site visit guides.

      1.3 Organization of this Document

      This first chapter gives an overview of the CMM and of this document. In the next three chapters of the overview are:

      • an overview of the CMM and its constituent parts,

      • a description of how to use the format of the key practices, and

      • a description of ways to use and interpret the key practices.

      Following the overview, the key practices for the key process areas of the CMM are described. For those who want to get a quick sense of the key practices, without the rigor that is needed in applying them, an abridgment of the key practices is provided in Appendix C.

      In the appendices are a list of the references cited in this document, a glossary of terms used in this document, an abridgment of the key practices, the change history for this document, and an index of terms contained in this document.

      1.4 Expected Use of this Document

      If you are not familiar with the CMM, you should first read the paper, "Capability Maturity Model for Software, Version 1.1" [Paulk93a] and all four chapters in this overview before trying to use the key practices.

      If you are already familiar with the CMM and how it is structured, you may want to go directly to the fourth chapter for advice on how to interpret the key practices.

      [^^]Overview table of contents [->]Forward one chapter

     
 
page d'accueil

contact

 

menu precedent
Acknowledgements
SEI CMM Key Practices - Overview
Introduction
CMM Overview
Using the Key Practice Pages
Interpreting the CMM
Level 2 - Requirements Management
Level 2 - Software Project Planning
Level 2 - Software Project Tracking and Oversight
Level 2 - Software Subcontract Management
Level 2 - Software Quality Assurance
Level 2 - Software Configuration Management
Level 3 - Organization Process Focus
Level 3 - Organization Process Definition
Level 3 - Training Program
Level 3 - Integrated Software Management
Level 3 - Software Product Engineering
Level 3 - Intergroup Coordination
Level 3 - Peer Reviews
Level 4 - Quantitative Process Management
Level 4 - Software Quality Management
Level 5 - Defect Prevention
Level 5 - Technology Change Management
Level 5 - Process Change Management
Appendix A: References
Appendix B: Glossary
Appendix C: Abridged Key Practices
Appendix D: Change History

 

 

contact

<-- precedent ] page d'accueil ] menu precedent ] suite --> ]

FREE, la liberté n'a pas de prix !  antoine@apple2.com 29-04-2000