CHAPTER 1 INTRODUCTION 1
Protecting and Comparing Confidential Data 4
International Country and City Codes 7
Using Standard Industry Classifications(SICs)for Software Studies 8
A Taxonomy of Software Projects for Benchmark and Assessment Studies 12
CHAPTER 2 SOFTWARE PROCESS ASSESSM ENTS 21
The Origins of Software Process Assessments 24
The SEI Assessment Approach 29
The SPR Assessment Approach 34
Pattern ofClientStrengths(Better than Average Performance) 40
Pattern ofAverage Results(Average Performance Within Industry) 40
Pattern of Client Weaknessess(Worse than Average Performance) 42
Correlating the SEI and SPR Scoring Systems 45
Readings and References on Software Assessments 47
CHAPTER 3 SOFTWARE BENCHMARKS AND BASELINES 51
Benchmarks and the Problem of Size Metrics 67
Benchmarking Software Costs 84
Hazards of Using Project-Level Data for Software Benchmark Studies 93
Hazards of Mailed Surveys for Software Benchmark Studies 96
Moving to Activity-Based Software Benchmark Data 97
Software Quality Benchmarks 99
Software Baselines 105
Readings and References on Software Benchmarks and Baselines 108
CHAPTER 4 THIRTY-SIX KEY FACTORSFOR SOFTWARE ASSESSMENT AND BENCHMARK STUDIES 115
Software Classification Factors 116
Project-Specific Factors 117
Sociological Factors 118
Technology Factors 118
Ergonomic Factors 119
International Factors 120
Readings and References on Factor Analysis 122
CHAPTER 5 IDENTIFYING SOFTWARE BEST AND WORST PRACTICES 127
Factors That Influence Software Development Productivity 132
Factors That Influence Software Maintenance Productivity 136
Patterns of Positive and Negative Factors 139
Readings and References on Software Best and Worst Practices 141
CHAPTER 6 SOFTWARE PROCESS IMPROVEMENTS 143
Annual Tactical and Strategic Software Improvement Plans 145
Annual Software Progress Report 146
The Six Stages on the Path to Software Excellence 146
Stage 0:Software ProcessAssessment,Baseline,andBenchmarks 147
Stage 1:Focus on Management Technologies 149
Stage 2:Focuson Software ProcessesandMethodologies 151
Stage 3:FocusonNewToolsandApproaches 152
Stage 4:Focus on Infrastructure and Specialization 154
Stage 5:FoCus on Reusability 154
Stage 6:FocusonIndustryLeadership 155
The Costs,Timing,and Value of Process Improvements 156
Readings and References on Software Process Improvements 160
CHAPTE 7 RBENCHMARKS AND BEST PRACTICES FOR MIS SOFTWARE PROJECTS 165
MIS Applications and Corporate Databases 167
Lack of Data Metrics 168
MIS and Enterprise Resource Planning 169
MIS Applications,the Euro,and the Year 2000 169
MIS Technologies 170
Diverse Origins of Information Systems and Systems Software 174
MIS Demographics 178
MIS Benchmarks 183
MIS Software Successes and Failures 192
MIS Success Factors 196
MISFailureFactors 196
Best Technical Practices for MIS Software 197
Best Project Management Practices for MIS Software 198
Best Requirements-Gathering and Analysis Practices for MIS Software 201
Best Design and Specification Practices for MIS Software 203
Best Coding Practices for MIS Software 205
Best Reusability Practices for MIS Software 207
Best Change Control Practices for MIS Software 208
Best User Documentation Practicesfor MIS Software 209
BestQuality ControlandPretestDefect RemovalPracticesforMISSoftware 210
BestTestingPracticesandToolsforMISSoftware 212
BestMaintenanceandEnhancementPracticesforMISSoftware 213
Best Personnel Practices for MIS Software 214
BestStaffHiringPracticesforMISSoftware 215
BestStaffTrainingandEducation PracticesforMIS Software 216
BestManagementTrainingandEducation PracticesforMIS Software 217
BestPractcesforSpecialization in theMIS SoftwareDomain 219
Best Compensation andSalaryPracticesforMISSoftware 219
BestPractices in OfficeErgonomicsforMIS Software 220
BestPracticesin OrganizationalStructuresforMIS Software 221
BestPractices forEmployeeMoralein MIS Software 223
BestWorkPatternsandOvertime UtilizationPracticesforMISSoftware 225
BestPracticesforMinimizingMIS StaffTurnoverRates 226
Summary and Conclusions on MIS Software 227
Readings and References for MIS Software 229
CHAPTER 8 BENCHMARKS AND BEST PRACTICES FOR OUTSOURCED SOFTWARE 235
The Growth of International Outsourcing 239
Choosing Outsourcing or In-house Development 243
Minimizing the Risks of Disputes between Outsource Contractors and Their Clients 251
Outsourcing Technologies 255
Outsource Demographics 260
Outsource Benchmarks 266
Outsourcing Successes and Failures 275
Outsourcing and Contract Software Success Factors 279
Outsourcing and Contract Software Failure Factors 280
Best Technical Practices for Outsourced Software 280
Best Project Management Practices for Outsourced Software 282
Best Requirements-Gathering and Analysis Practices for Outsourced Software 285
Best Design and Specification Practices for Outsourced Software 288
Best Coding Practices for Outsourced Software 289
Best Reusability Practices for Outsourced Software 291
Best Change Control Practices for Outsourced Software 294
Best User Documentation Practices for Outsourced Software 295
Best Quality Control and Pretest Defect Removal Practices for Outsourced Software 297
Best Testing Practices and Tools for Outsourced Software 299
Best Maintenance and Enhancement Practices for Outsourced Software 301
Best Personnel Practices for Outsourced Software 302
Best Staff Hiring Practices for Outsourced Software 303
Best Staff Training and Education Practices for Outsourced Software 304
Best Management Training and Education Practices for Outsourced Software 305
Best Practices for Specialization in the Outsource Software Domain 307
Best Compensation and Salary Practices for Outsourced Software 307
Best Practices in Office Ergonomics for Outsourced Software 308
Best Practices in Organizational Structures for Outsourced Software 309
Best Practices for Employee Morale among Outsource Vendors 311
Best Work Patterns and Overtime Utilization for Outsourced Software 313
Best Practices for Minimizing Outsource Staff Turnover Rates 314
Summary and Conclusions on Outsourced Software 315
Readings and References for Outsourced Software 316
CHAPTER 9 BENCHMARKS AND BEST PRACTICES FOR SYSTEMS SOFTWARE 321
Systems Software Demographics 323
Systems Software Benchmarks 329
Systems Software Successes and Failures 341
Systems Software Success Factors 343
Systems Software Failure Factors 344
Best Technical Practices for Systems Software 348
Best Project Management Practices for Systems Software 349
Best Requirements-Gathering and Analysis Practices for Systems Software 353
Best Design and Specification Practices for Systems Software 355
Best Coding Practices for Systems Software 357
Best Reusability Practices for Systems Software 360
Best Change Control Practices for Systems Software 363
Best User Documentation Practices for Systems Software 364
Best Quality Control and Pretest Defect Removal Practices for Systems Software 366
Best Testing Practices and Tools for Systems Software 371
Best Maintenance and Enhancement Practices for Systems Software 372
Best Personnel Practices for Systems Software 374
Best Staff Hiring Practices for Systems Software 375
Best Staff Training and Education Practices for Systems Software 377
Best Management Training and Education Practices for Systems Software 378
Best Compenstation and Salary Practices for Systems Software 380
Best Practices for Specialization in the Systems Software Domain 380
Best Practices in Office Ergonomics for Systems Software 381
Best Practices in Organizational Structures for Systems Software 383
Best Practices for Employee Morale in Systems Software 386
Best Work Patterns and Overtime Utilization for Systems Software 388
Best Practices for Minimizing Staff Turnover Rates 389
Summary and Conclusions on Systems Software 391
Readings and References for Systems Software 391
CHAPTER 10 BENCHMARKS AND BEST PRACTICES FOR COMMERCIAL SOFTWARE 399
Special Issues and Technologies for Commercial Software 401
Commercial Software Demographics 408
Commercial Software Benchmarks 413
Commercial Software Successes and Failures 424
Commercial Software Success Factors 427
Commercial Software Failure Factors 428
The Microsoft Pattern 429
The Emergence of the ISO 9000-9004 Standards 432
Best Technical Practices for Commercial Software 432
Best Project Management Practices for Commercial Software 433
Best Requirements-Gathering and Analysis Practices for Commercial Software 436
Best Design and Specification Practices for Commercial Software 438
Best Coding Practices for Commercial Software 439
Best Reusability Practices for Commercial Software 441
Best Change Control Practices for Commercial Software 442
Best User Documentation Practices for Commercial Software 443
Best Quality Control and Pretest Defect Removal Practices for Commercial Software 446
Best Testing Practices and Tools for Commercial Software 448
Best Maintenance and Enhancement Practices for Commercial Software 450
Best Personnel Practices for Commercial Software 453
Best Staff Hiring Practices for Commercial Software 454
Best Staff Training and Education Practices for Commercial Software 455
Best Management Training and Education Practices for Commercial Software 456
Best Practices for Specialization in the Commercial Software Domain 457
Best Compensation and Salary Practices for Commercial Software 458
Best Practices in Office Ergonomics for Commercial Software 459
Best Practices in Organizational Structures for Commercial Software 460
Best Practices for Employee Morale in Commercial Software 461
Best Work Patterns and Overtime Utilization for Commercial Software 463
Best Practices for Minimizing Staff Turnover Rates in the Commercial Software Domain 463
Summary and Conclusions on Commercial Software 465
Readings and References for Commercial Software 465
CHAPTER 11 BENCHMARKS AND BEST PRACTICES FOR MILITARY SOFTWARE 473
Military Software Technologies and Special Problems 475
The Software Engineering Institute 479
The Airlie Council 482
Military Software Demographics 483
Military Software Benchmarks 488
Military Software Successes and Failures 499
Military Software Success Factors 500
Military Software Failure Factors 501
Best Technical Practices for Military Software 505
Best Project Management Practices for Military Software 505
Best Requirements-Gathering and Analysis Practices for Military Software 509
Best Design and Specification Practices for Military Software 512
Best Coding Practices for Military Software 514
Best Reusability Practices for Military Software 516
Best Change Control Practices for Military Software 519
Best User Documentation Practices for Military Software 520
Best Quality Control and Pretest Defect Removal Practices for Military Software 522
Best Testing Practices and Tools for Military Software 524
Best Maintenance and Enhancement Practices for Military Software 526
Best Personnel Practices for Military Software 527
Best Staff Hiring Practices for Military Software 529
Best Staff Training and Education Practices for Military Software 529
Best Management Training and Education Practices for Military Software 530
Best Practices for Specialization in the Military Software Domain 532
Best Compensation and Salary Practices for Military Software 533
Best Practices in Office Ergonomics for Military Software 533
Best Practices in Organizational Structures for Military Software 535
Best Practices in Employee Morale in Military Software 537
Best Work Patterns and Overtime Utilization for Military Software 539
Best Practices for Minimizing Military Staff Turnover Rates 540
Summary and Conclusions on Military Software 541
Readings and References for Military Software 543
CHAPTER 12 BENCHMARKS AND BEST PRACTICES FOR END USER SOFTWARE 551
End User Software Demographics 554
End User Benchmarks 555
End User Software Successes and Failures 559
End User Software Success Factors 561
End User Software Failure Factors 561
Best Technical Practices for End User Software 562
Best Personnel Practices for End User Software 563
Readings and References for End User Software 564
Appendix—SPR Questionnaire for Assessments,Benchmarks,and Baselines 567
Glossary 609
Complete List of Readings and References 623
Index 633