PART ONE THE CAPABILITY MATURITY MODEL FOR SOFTWARE:BACKGROUND,CONCEPTS,STRUCTURE,AND USAGE 1
1 INTRODUCING SOFTWARE PROCESS MATURITY 3
1.1 The Evolution of the CMM 5
1.2 Immature Versus Mature Software Organizations 7
1.3 Fundamental Concepts Underlying Process Maturity 8
Figure 1.1 Process:holding the pieces together 9
1.4 Total Quality Management and the CMM 10
Figure 1.2 Applying TQM to software 11
1.5 Customer Satisfaction 12
1.6 Benefits and Risks of Model-Based Improvement 12
2 THE SOFTWARE PROCESS MATURlTY FRAMEWORK 15
Figure 2.1 The five levels of software process maturity 16
2.1 Behavioral Characterization of the Matrity Levels 17
2.2 Skipping Maturity Levels 20
2.3 Visibility into the Software Process 22
Figure 2.2 Visibility into the software process at each maturity level 23
2.4 Prediction of Performance 24
Figure 2.3 Improving control,predictability,and effectiveness 26
Figure 2.4 Process capability as indicated by maturity level 28
3 THE STRUCTURE OF THE CAPABILITY MATURITY MODEL 29
3.1 Internal Structure of the Maturity Levels 30
3.2 Maturity Levels 30
Figure 3.1 The CMM structure 31
3.3 Key Process Areas 32
Figure 3.2 The key process areas by maturity level 33
3.4 Key Practices 39
3.5 Common Features 40
4 INTERPRETING THE CMM 41
4.1 Interpreting the Key Practices 41
4.2 The Key Process Area Template 42
4.3 Interpreting the Common Features 46
4.4 Organizational Structure and Roles 59
4.5 Understanding Software Process Definition 65
Figure 4.1 Conceptual software process framework used in the CMM 66
4.6 The Evolution of Processes 74
Figure 4.2 The key process areas assigned to process categories 75
Figure 4.3 The evolution of software project management 76
4.7 Applying Professional Judgment 77
5 USING THE CMM 81
Figure 5.1 The IDEAL approch to software process improvement 82
5.1 A CMM-Based Appraisal Method 83
Figure 5.2 A software process apprasial method based on the CMM 84
5.2 Process Assessments and Capability Evaluation 85
5.3 Software Process Improvement 86
5.4 Using the CMM in Context 89
Figure 5.3 "M"is for model 90
6.1 Introduction 93
6 A HIGH-MATURITY EXAMPLE:SPACE SHUTTLE ONBOARD SOFTWARE 93
Figure 6.1 Failure history for delivered operational increments of Onboard Shuttle software since 1988 94
6.2 Background 95
Figure 6.2 Functional structure of Onboard Shuttle Flight Software 96
Figure 6.3 Allocation of Onboard Shuttle staff by function 98
6.3 Approaches to Process Improvement 98
Figure 6.4 Chronology of process improvements implemented by the Onboard Shuttle project 99
Figure 6.5 Control board structure for managing the Onboard Shuttle project 100
Figure 6.6 The requirements management process for the Onboard Shuttle project 105
Figure 6.7 Percentage of total injected faults detected prior to verification testing 106
Figure 6.8 Faults detected per thousand lines of code during the verification testing of Onboard Shuttle software 109
Figure 6.9 The Onboard Shuttle software defect prevention process 110
Figure 6.10 Fault detection experience for Operational Increment 22 111
6.4 Overall Lessons 117
Figure 6.11 Relative cost of a line of code as a function of delivered defect density 120
PART TWO THE KEY PRACTICES OF THE CAPABILITY MATURITY MODEL FOR SOFTWARE 123
7 THE KEY AREAS FOR LEVEL 2:REPEATABLE 125
7.1 Requirements Management 126
7.2 Software Project Planning 133
7.3 Software Project Tracking and Oversight 148
7.4 Software Subcontract Management 159
7.5 Software Quality Assurance 171
7.6 Software Configuration Management 180
8 THE KEY PROCESS AREAS FOR LEVEL 3:DEFINED 193
8.1 Organization Process Focus 194
8.2 Organization Process Definition 202
8.3 Training Program 213
8.4 Integrated Software Management 223
8.5 Software Product Engineering 241
8.6 Intergroup Coordination 261
8.7 Peer Reviews 270
9 THE KEY PROCESS AREAS FOR LEVEL 4:MANAGED 277
9.1 Quantitative Process Management 278
9.2 Software Quality Management 292
10 THE KEY PROCESS AREAS FOR LEVEL 5:OPTIMIZING 305
10.1 Defect Prevention 306
10.2 Technology Change Management 319
10.3 Process Change Management 330
A. References 345
APPENDIXES 345
B. Acronyms 349
C. Glossary 352
D. Abridged Version of the Key Practices 370
E. Mapping the Key Practices to Goals 399
F. Comparing ISO 9001 and the CMM 404
Figure F.1 Key process area profile for an ISO 9001 compliant organization 417
G. An Overview of ISO's SPICE Project 419
H. Change History of the CMM 426
I. Change Request Form 431
INDEX 434