Chapters 7 and 8 discuss models for reliability estimations. In this chapter we discuss models that can be used for quality management. We also give examples of in-process quality reports that support the models and discuss a method of in-process defect type analysis ”the orthogonal defect classification.
It is important to assess the quality of a software product, project the number of defects, or estimate the mean time to next failure when development work is complete. It is more important to monitor and manage the quality of the software when it is under development. Such a task is the purpose of the software quality management models and in-process metrics. Although some models can be used for both reliability estimations and quality management, as we will see in later sections, how the models are used for quality management is different from that for reliability estimations. On the one hand, quality management models must provide early signs of warning or of improvement so that timely actions can be planned and implemented. On the other hand, they can be less precise and less mathematical than predictive models.
For a development organization, to be helpful the quality management model(s) must cover the early development phases. Models based on data collected at the end of the development process allow little time for action, if needed. The reliability growth models, which are based on system-test data when development work is virtually complete, therefore, may not be as useful for in-process quality management as for reliability assessment. Nonetheless, the reliability growth models are useful for quality management in terms of tracking status and determining when to end system testing for a specific predetermined quality goal.
Unlike the reliability models, which are numerous and include constantly emerging new ones, there are few models for in-process quality management in the literature. The following sections describe models that we have developed or have used.
What Is Software Quality?
Software Development Process Models
Fundamentals of Measurement Theory
Software Quality Metrics Overview
Applying the Seven Basic Quality Tools in Software Development
Defect Removal Effectiveness
The Rayleigh Model
Exponential Distribution and Reliability Growth Models
Quality Management Models
In-Process Metrics for Software Testing
Complexity Metrics and Models
Metrics and Lessons Learned for Object-Oriented Projects
Availability Metrics
Measuring and Analyzing Customer Satisfaction
Conducting In-Process Quality Assessments
Conducting Software Project Assessments
Dos and Donts of Software Process Improvement
Using Function Point Metrics to Measure Software Process Improvements
Concluding Remarks
A Project Assessment Questionnaire