PART 1:PROCESS THINKING 1
1 PROCESS THINKING 3
1.1 What is process thinking? 3
1.2 What is a process? 5
1.3 Process focus 7
1.4 Process maturity 9
Summary 13
2 PROCESS DISCIP LINE 17
2.1 Process discipline 17
2.2 Benefits of process discipline 20
2.3 Process discipline and product quality 24
2.4 Process-focused organizations 27
Summary 33
3 EFFECTIVE PROCESS ENVIRONMENT 35
3.1 Process myths and realities 35
3.2 What is an effective process? 37
3.3 Mechanisms for making the process effective 40
3.4 Process culture 45
Summary 48
4 PROCESS MATURITY:THE SECOND WAVE OF THE SOFTWARE INDUSTRY 51
4.1 Waves and megatrends of the software industry 51
4.2 The software process maturity movement 53
4.3 Levels of software process institutionalization 56
4.4 Software process maturity standards and initiatives 58
Summary 62
PART 2:A FRAMEWORK FOR SOFTWARE PROCESS IMPROVEMENT 65
5 A FRAMEWORK FOR SOFTWARE PROCESS IMPROVEMENT 67
5.1 Software process improvement environment 67
5.2 Software process infrastructure 70
5.3 Software process improvement roadmap 74
5.4 Software process assessment 76
5.5 Software process improvement plan 78
Summary 80
6.1 Justification and definition 83
6 SOFTWARE PROCESS INFRASTRUCTURE 83
6.2 Organizational and management infrastructure 89
6.3 Process technical infrastructure 105
6.4 An example of a software process support infrastructure 118
6.5 Making the infrastructure effective 121
Summary 125
7 PROCESS IMPROVEMENT ROADMAPS 129
7.1 Learning from the quality gurus 129
7.2 Software process improvement models 134
7.3 Staged versus continuous architecture for SPI models 137
Summary 143
8 FUNDAMENTALS OF SOFTWARE PROCESS ASSESSMENT 145
8.1 Definitions of assessment 145
8.3 Assessment domains 154
8.4 Assessment generic phases 157
8.5 Mapping assessment approaches to the generic cycle 160
Summary 163
9.1 Creating a software process improvement action plan 165
9 SOFTWARE PROCESS IMPROVEMENT ACTION PLAN 165
9.2 Allocating resPonsibilities for implementing SPI actions 173
9.3 Guidance for Action Planning(GAP)-an example of an action planning method 177
Summary 179
PART 3:MAKING SOFTWARE PROCESS IMPROVEMENT HAPPEN 181
10 LAUNCHING SOFTWARE PROCESS IMPROVEMENT 183
10.1 Stages for making software Process improvement happen 183
10.2 Launching software process improvement 184
10.3 Adopting a software process improvement model 190
10.4 Humphrey's process change requirements 192
10.5 Ingredients for successful software process improvement 194
Summary 197
11 IMPLEMENTING AND INSTITUTIONALIZING SOFTWARE PROCESS IMPROVEMENT 199
11.1 Implementation and institutionalization phases 199
11.2 Principles for implementing and institutionalizing SPI 200
11.3 Implementing SPI actions and managing the change 202
11.4 Institutionalizing software process improvement 211
11.5 The SEI IDEAL model-an example of an SPI implementation model 215
Summary 219
12 MEASURING THE BENEFITS OF SOFTWARE PROCESS IMPROVEMENT 221
12.1 Measuring software process perfromance 221
12.2 Principles of software process measurement 223
12.3 Issues with software process measurement 226
12.4 An example of a software process measurement method 226
Summary 232
PART 4:CURRENT MODELS AND STANDARDS FOR SOFTWARE PROCESS IMPROVEMENT 233
13 THE CAPABILITY MATURITY MODEL(CMM) 235
13.1 Overview of the Capability Maturity Model 235
13.2 Maturity levels of the CMM 239
13.3 Internal structure of the CMM 247
13.4 Uses of the CMM 256
13.5 CMM Version 2.0 261
Summary 262
14.1 CMM-based appraisals 265
14 CMM-BASED SOFTWARE PROCESS ASSESSMENT 265
14.2 The SEI maturity questionnaire 266
14.3 The SEI-assisted assessment process 270
14.4 SEI software capability evaluation(SCE) 276
Summary 280
15 ISO/IEC 15504 DRAFT TECHNICAL REPORT FOR SOFTWARE PROCESS ASSESSMENT 283
15.1 Introduction 283
15.2 Architecture of the ISO/IEC 15504 technical report 285
15.3 ISO/IEC 15504 process categories 290
15.4 ISO/IEC 15504 capability levels 304
15.5 ISO/IEC 15504 capability measurements 308
15.6 Relationship of ISO/IEC 15504 to other international standards 309
Summary 311
16 ISO/IEC 15504 DRAFTGUIDE TO CONDUCTING ASSESSMENT 313
16.1 Overview 313
16.2 Assessment planning 315
16.3 Fact gathering 322
16.4 Fact analysis 324
16.5 Presenting the assessment output 329
16.6 ISO/IEC 15504 guidance on assessment instruments 331
16.7 Using ISO/IEC 15504 guidance for conducting assessments 335
Summary 337
17 BOOTSTRAP SOFTWARE PROCESS ASSESSMENT 339
17.1 Motivation and background 339
17.2 BOOTSTRAP process model 340
17.3 Capability scale and assessment instruments 343
17.4 The BOOTSTRAP assessment process 347
17.5 BOOTSTRAP and other initiatives 354
Summary 355
18 OTHER INITIATIVES 357
18.1 ISO 9000 quality standards 357
18.2 ISO/IEC 12207,'Software Life Cycle Processes' 364
18.3 DoD standard MIL-STD-498 365
18.4 Trillium 368
18.5 The V-Model 377
Summary 385
PART 5:BUSINESS BENEFITS OF SOFTWARE PROCESS IMPROVEMENT 387
19 THE EVIDENCE:BUSINESS BENEFITS OF SOFTWARE PROCESS IMPROVEMENT 389
19.1 Relating SPI benefits to the business 389
19.2 Evidence from Europe 390
19.3 Evidence from the USA 399
19.4 Lessons learned 406
Summary 407
20 EPILOGUE:FUTURE OF SOFTWARE PROCESS IMPROVEMENT 409
20.1 Process maturity:is it another buzzword? 409
20.2 Role of international standards 409
20.3 Process discipline is a prerequisite for software industrialization 410
20.4 What next? 410
GLOSSARY 411
REFERENCES 437
INDEX 443