"This is the single best book on software quality engineering and metrics that I've encountered."
--Capers Jones, from the Foreword
Metrics and Models in Software Quality Engineering, Second Edition, is the definitive book on this essential topic of software development. Comprehensive in scope with extensive industry examples, it shows how to measure software quality and use measurements to improve the software development process. Four major categories of quality metrics and models are addressed: quality management, software reliability and projection, complexity, and customer view. In addition, the book discusses the fundamentals of measurement theory, specific quality metrics and tools, and methods for applying metrics to the software development process.
New chapters bring coverage of critical topics, including:
In addition to the excellent balance of theory, techniques, and examples, this book is highly instructive and practical, covering one of the most important topics in software development--quality engineering.
Foreword to the Second Edition.
Foreword to the First Edition
1. What Is Software Quality?
Quality: Popular Views.
Quality: Professional Views.
The Role of the Customer.
Total Quality Management.
The Waterfall Development Model.
The Prototyping Approach.
The Spiral Model.
The Iterative Development Process Model.
The Object-Oriented Development Process.
The Cleanroom Methodology.
The Defect Prevention Process.
Process Maturity Framework and Quality Standards.
The SEI Process Capability Maturity Model.
The SPR Assessment.
The Malcolm Baldrige Assessment.
Definition, Operational Definition, and Measurement.
Level of Measurement.
Some Basic Measures.
Reliability and Validity.
Correction for Attenuation.
Be Careful with Correlation.
Criteria for Causality.
Product Quality Metrics.
The Defect Density Metric.
Customer Problems Metric.
Customer Satisfaction Metrics.
In-Process Quality Metrics.
Defect Density During Machine Testing.
Defect Arrival Pattern During Machine Testing.
Phase-Based Defect Removal Pattern.
Defect Removal Effectiveness.
Metrics for Software Maintenance.
Fix Backlog and Backlog Management Index.
Fix Response Time and Fix Responsiveness.
Percent Delinquent Fixes.
Examples of Metrics Programs.
Collecting Software Engineering Data.
Ishikawa's Seven Basic Tools.
A Closer Look at Defect Removal Effectiveness.
Defect Removal Effectiveness and Quality Planning.
Phase-Based Defect Removal Model.
Some Characteristics of a Special Case Two-Phase Model.
Cost Effectiveness of Phase Defect Removal.
Defect Removal Effectiveness and Process Maturity Level.
The Rayleigh Model.
Reliability and Predictive Validity.
The Exponential Model.
Reliability Growth Models.
Goel-Okumoto Imperfect Debugging Model.
Goel-Okumoto Nonhomogeneous Poisson Process Model.
Musa-Okumoto Logarithmic Poisson Execution Time Model.
The Delayed S and Inflection S Models.
Criteria for Model Evaluation.
Test Compression Factor.
Estimating the Distribution of Total Defects Over Time.
The Rayleigh Model Framework.
The Code Integration Pattern.
The PTR Submodel.
The PTR Arrival/Backlog Projection Model.
Reliability Growth Models.
Criteria for Model Evaluation.
In-Process Metrics and Reports.
Orthogonal Defect Classification.
In-Process Metrics for Software Testing.
Test Progress S Curve.
Testing Defect Arrivals Over Time.
Testing Defect Backlog Over Time.
Product Size Over Time.
CPU Utilization During Test.
System Crashes and Hangs.
Mean Time to Unplanned IPL.
Critical Problems: Show Stoppers.
In-Process Metrics and Quality Management.
Possible Metrics for Acceptance Testing to Evaluate Vendor-Developed Software.
How Do You Know Your Product Is Good Enough to Ship.
Lines of Code.
Halstead's Software Science.
An Example of Module Design Metrics in Practice.
Object-Oriented Concepts and Constructs.
Design and Complexity Metrics.
Lorenz Metrics and Rules of Thumb.
Some Metrics Examples.
The CK OO Metrics Suite.
Validation Studies and Further Examples.
Quality and Quality Management Metrics.
Lessons Learned for OO Projects.
Definition and Measurements of System Availability.
Reliability, Availability, and Defect Rate.
Collecting Customer Outage Data for Quality Improvement.
In-Process Metrics for Outage and Availability.
Customer Satisfaction Surveys.
Methods of Survey Data Collection.
Analyzing Satisfaction Data.
Specific Attributes and Overall Satisfaction.
Satisfaction with Company.
How Good Is Good Enough?
The Preparation Phase.
What Data Should I Look At?
Don't Overlook Qualitative Data
The Evaluation Phase.
The Summarization Phase.
The Overall Assessment
Recommendations and Risk Mitigation.
Audit and Assessment.
Software Process Maturity Assessment and Software Project Assessment.
Software Process Assessment Cycle.
A Proposed Software Project Assessment Method.
Facts Gathering Phase 1.
Questionnaire Customization and Finalization.
Facts Gathering Phase.
Possible Improvement Opportunities and Recommendations.
Team Discussions of Assessment Results and Recommendations.
Measuring Process Maturity.
Measuring Process Capability.
Staged versus Continuous--Debating Religion.
Measuring Levels Is Not Enough.
Establishing the Alignment Principle.
Take Time Getting Faster.
Keep It Simple—or Face Decomplexification.
Measuring the Value of Process Improvement.
Measuring Process Adoption.
Measuring Process Compliance.
Celebrate the Journey, Not Just the Destination.
Software Process Improvement Sequences.
Stage 0: Software Process Assessment and Baseline.
Stage 1: Focus on Management Technologies.
Stage 2: Focus on Software Processes and Methodologies.
Stage 3: Focus on New Tools and Approaches.
Stage 4: Focus on Infrastructure and Specialization.
Stage 5: Focus on Reusability.
Stage 6: Focus on Industry Leadership.
Process Improvement Economics.
Measuring Process Improvements at Activity Levels.
Data Quality Control.
Getting Started with a Software Metrics Program.
Software Quality Engineering Modeling.
Statistical Process Control in Software Development.
Measurement and the Future.