Part
III Software Engineering Process System
Analysis
319
10
Benchmarking the SEPRM Processes
323
10.1 Introduction 324
10.2 Methods for Characterizing Software Process 325
10.2.1 Characterizing BPAs by Attributes 326
10.2.2 Benchmarking Software Process by Characteristic
Curves
326
10.2.3 Plot and Illustration of Process Benchmarks 327
10.3 Benchmarks of the Organization Processes 327
10.3.1 Benchmarks of the Organization Structure Process
Category 328
10.3.2 Benchmarks of the Organization Process Category 329
10.3.3 Benchmarks of the Customer Service Process Category
330
10.3.4 General Characteristics of the Organization Process
Subsystem
331
10.4 Benchmarks of the Development Processes 333
10.4.1 Benchmarks of the Software Engineering Methodology
Process Category 334
10.4.2 Benchmarks of the Software Development Process
Category 335
10.4.3 Benchmarks of the Software Development Environment
Process Category 338
10.4.4 General Characteristics of the Development Process
Subsystem 339
10.5 Benchmarks of the Management Processes 341
10.5.1 Benchmarks of the Software Quality Assurance
Process Category 342
10.5.2 Benchmarks of the Project Planning Process Category
346
10.5.3 Benchmarks of the Project Management Process
Category 347
10.5.4 Benchmarks of the Contract and Requirement
Management Process Category
350
10.5.5 Benchmarks of the Document Management Process
Category 351
10.5.6 Benchmarks of the Human Resource Management Process
Category 352
10.5.7 General Characteristics of the Management Process
Subsystem 353
10.6 The Highlights of Process Characteristics 354
10.6.1 The Most/Least Significant Processes 356
10.6.2 The Most/Least Practical Processes 356
10.6.3 The Most/Least Effective Processes 357
10.6.4 The Most/Least Useful Processes
358
10.7 Summary 358
Annotated References 362
Questions and Problems 363
11
Comparative Analysis of Current Process Models
365
11.1 Introduction 366
11.1.1 Domains of BPAs of Current Process Models 367
11.1.2 Compatibility between Current Process Models 367
11.1.3 Correlation between Current Process Models
368
11.2 The ISO/IEC TR 15504 Model 368
11.2.1 Compatibility of ISO/IEC TR 15504 to Other Models 368
11.2.2 Correlation of ISO/IEC TR 15504 with Other Models 370
11.3 The CMM Model 372
11.3.1 Compatibility of CMM to Other Models 372
11.3.2 Correlation of CMM with Other Models 373
11.4 The BOOTSTRAP Model 374
11.4.1 Compatibility of BOOTSTRAP to Other Models 375
11.4.2 Correlation of BOOTSTRAP with Other Models 376
11.5 The ISO 9001 Model 378
11.5.1 Compatibility of ISO 9001 to Other Models 378
11.5.2 Correlation of ISO 9001 with Other Models 379
11.6 The SEPRM Model 381
11.6.1 Compatibility of SEPRM to Other Models
381
11.6.2 Correlation of SEPRM with Other Models 382
11.7 Overview of Interrelationships between Current
Process Models 384
11.7.1 Configuration Orientation of Current Process Models
385
11.7.2 Compatibility between Current Process Models 386
11.7.3 Correlation between Current Process Models 387
11.8 Summary 389
Annotated References 394
Questions and Problems 395
12
Transformation of Capability Levels between Current
Process Models
397
12.1 Introduction 398
12.2 A Comparative Assessment Case Study 399
12.2.1 The SEPRM Assessment Result 399
12.2.2 The ISO/IEC TR 15504 Assessment Result 401
12.2.3 The CMM Assessment Result 401
12.2.4 The BOOTSTRAP Assessment Result 402
12.2.5 The ISO 9001 Assessment Result 402
12.3 Transformation of Process Capability Levels 403
12.4 Robustness of Current Process Models
405
12.4.1 Case A - Biased Overrating 405
12.4.2 Case B - Biased Underrating 406
12.4.3 Case C - A Normal Case 406
12.5 Estimation of Assessment Effort for Different Process
Models 406
12.6 Summary 408
Annotated References 411
Questions and Problems 412
Part
IV Software Engineering Process Establishment
413
13
Software Process Establishment Methodologies
417
13.1 Introduction 418
13.2 Methods for Software Engineering Process
Establishment 419
13.2.1 Process Model Reuse 420
13.2.2 Process Model Tailoring 421
13.2.3 Process Model Extension 422
13.2.4 Process Model Adaptation 423
13.3 A Parallel Process Model for Software Quality
Assurance 424
13.3.1 Software Engineering Models vs. Software
Development Models 424
13.3.2 Structure of the PPM Model 425
13.3.3 Implementation of the PPM Model 426
13.4 A Software Project Management Process Model 430
13.4.1 A Derived Process Model for Software Project
Management 430
13.4.2 Project Planning Processes 431
13.4.3 Project Management Process 434
13.5 A Tailored CMM Process Model 438
13.5.1 Motivation for T-CMM 438
13.5.2 Method for Tailoring CMM 439
13.5.3 The T-CMM Process and Capability Models 439
13.5.4 Relationships between T-CMM and ISO/IEC TR 15504 440
13.6 Summary
441
Annotated References 446
Questions and Problems 447
14
An Extension of ISO/IEC TR 15504 Model
449
14.1 Introduction 450
14.2 Establishment of the PULSE Acquisition Process Model
452
14.2.1 The PULSE Process Reference Model 452
14.2.2 The PULSE Process Assessment Model 453
14.2.3 The PULSE Process Assessment Method 453
14.3 Extension of the ISO/IEC TR 15504 Process Dimension
454
14.3.1 The Acquisition Process Category 455
14.3.2 The Support Process Category 456
14.3.3 The Management Process Category 456
14.3.4 The Organization Process Category 456
14.3.5 Definitions of the Acquisition Processes 456
14.4 Extension of the ISO/IEC TR 15504 Capability
Dimension 466
14.4.1 The PULSE Process Capability Model 466
14.4.2 Capability Transformation between PULSE and ISO/IEC
TR 15504 468
14.5 The PULSE Process Assessment Method 468
14.6 Summary
470
Annotated References 473
Questions and Problems 474
Part
V Software Engineering Process Assessment
475
15
Software Process Assessment Methodologies
479
15.1 Introduction 480
15.2 Model-Based Process Assessment 481
15.2.1 SEPRM Assessment Preparation Phase 482
15.2.2 SEPRM Assessment Phase 486
15.2.3 SEPRM Assessment Output Phase 489
15.3 Benchmark-Based Process Assessment 490
15.3.1 A New Approach to Benchmark-Based Software Process
Assessment 491
15.3.2 SEPRM Benchmarks of Software Engineering Processes 492
15.3.3 Benchmark-Based Assessment Method 494
15.4 Summary 496
Annotated References 499
Questions and Problems 499
16
Supporting Tools for Software Process Assessment
501
16.1 Introduction 502
16.2 Template-Supported Process Assessment 503
16.2.1 Template 1 - Assessment Purpose 504
16.2.2 Template 2 - Assessment Scope 505
16.2.3 Template 3 - Assessment Team and Responsibilities 508
16.2.4 Template 4 - Assessment Confidentiality Agreement
509
16.2.5 Template 5 - Assessment Schedule and Resources
510
16.2.6 Template 6 - Processes to be Assessed and Target
Capability Levels 512
16.2.7 Template 7 - Assessment Brief 514
16.2.8 Template 8 - Process Strengths and Weaknesses
Analysis 516
16.3 Tool-Supported Process Assessment 520
16.3.1 Overview of Process Assessment Tools 520
16.3.2 Functions of Tools for Supporting Assessment 523
16.3.3 Functions of Tools for Process Capability
Determination 525
16.4 Summary
525
Annotated References 528
Questions and Problems 529
Part
VI Software Engineering Process Improvement
531
17
Software Process Improvement Methodologies
535
17.1 Introduction 536
17.2 Model-Based Process Improvement 539
17.2.1 Examining the Needs for Process Improvement 539
17.2.2 Conducting a Baseline Process Assessment 640
17.2.3 Identifying Process Improvement Opportunities 541
17.2.4 Implementing Recommended Improvements 542
17.2.5 Reviewing Process Improvement Achievement 543
17.2.6 Sustaining Improvement Gains 543
17.3 Benchmark-Based Process Improvement 544
17.3.1 A New Philosophy of Relative Process Improvement 544
17.3.2 Method for Benchmark-Based Process Improvement
545
17.4 Template-Based Process Improvement 547
17.5 Summary
550
Annotated References 554
Questions and Problems 554
18
Case Studies in Software Process Improvement
557
18.1 Introduction 558
18.2 Benefits of Software Process Improvement 559
18.2.1 Measurements for Benefits of Software Process
Improvement
559
18.2.2 Statistics Data on Benefits of Software Process
Improvement 561
18.2.3 Industry Comments on Software Process
Improvement 562
18.3 Software Process Improvement Case-1
564
18.3.1 Background 564
18.3.2 Approach to Process Improvement 565
18.3.3 Lessons Learned 566
18.4 Software Process Improvement Case-2
567
18.4.1 Background 567
18.4.2 Approach to Process Improvement 567
18.4.3 Lessons Learned 570
18.5 Software Process Improvement Case-3
572
18.5.1 Background 572
18.5.2 Approach to Process Improvement 572
18.5.3 Lessons Learned 577
18.5 Summary 578
Annotated References 581
Questions and Problems 583
19
Review and Perspectives
585
19.1 Overview 586
19.2 Review of Advances in Process-Based Software
Engineering 587
19.3 Perspectives on Future Development
593
19.3.1 Trends in Software Engineering Research 593
19.3.2 Trends in Software Process Standardization 597
19.3.3 Trends in the Software Industry 598
19.4 Concluding Remarks
600
Annotated References 602
Bibliography
605
Appendixes
633
A. Mathematical Symbols and Notations 635
B. Abbreviations 637
C. Mapping between Current Process Models 639
D. Benchmarks of the SEPRM Software Engineering Processes 657
E. SEPRM Process Assessment Templates 671
F. ISO/IEC 12207 Software Life Cycle Processes 689
G. ISO/IEC CD 15288 System Life Cycle Processes
693
Index
699