What is Software Quality?
Software quality is defined as a field of study and practice that describes the desirable attributes of software products. There are two main approaches to software quality: defect management and quality attributes.
Software Quality Defect Management Approach
A software defect can be regarded as any failure to address end-user requirements. Common defects include missed or misunderstood requirements and errors in design, functional logic, data relationships, process timing, validity checking, and coding errors.
The software defect management approach is based on counting and managing defects. Defects are commonly categorized by severity, and the numbers in each category are used for planning. More mature software development organizations use tools, such as defect leakage matrices (for counting the numbers of defects that pass through development phases prior to detection) and control charts, to measure and improve development process capability.
Software Quality Attributes Approach
This approach to software quality is best exemplified by fixed quality models, such as ISO/IEC 25010:2011. This standard describes a hierarchy of eight quality characteristics, each composed of sub-characteristics:
- Functional suitability
- Performance efficiency
Additionally, the standard defines a quality-in-use model composed of five characteristics:
A fixed software quality model is often helpful for considering an overall understanding of software quality. In practice, the relative importance of particular software characteristics typically depends on software domain, product type, and intended usage. Thus, software characteristics should be defined for, and used to guide the development of, each product.
Quality function deployment provides a process for developing products based on characteristics derived from user needs.
Software Quality resources
IT Department Improves Processes to Detect More Defects Sooner (PDF) Tufts Health Plan IT process improvements resulted in a 16% decline in defects identified in testing, a 68% increase in peer reviews conducted as a quality check before production, and a 59% increase in the number of issues identified in those peer reviews.
Significance of Quality Certification: The Case of the Software Industry in India (PDF) Results of an empirical study conducted in the software industry in India show that quality certification helps in the implementation of TQM-based quality management programs and has an impact on operational performance.
Integrating PSP, TSP, and Six Sigma (PDF) This example of the defect management approach integrates the Personal Software Process (PSP) and the Team Software Process (TSP) for software development with Six Sigma; PSP and TSP provide a built-in measurement framework, a high-maturity base process and a training program, and Six Sigma contributes the statistical tools to analyze and control process performance, prioritize improvements, and make valid fact-based management decisions.
End Users’ Perceptions of Software Quality (PDF) In this example of the quality attributes approach, an instrument adopted from SERVQUAL, a highly respected standard for assessing different dimensions of service quality, was developed for assessing the service quality of a computerized driver-licensing test.
Selecting Tools for Software Quality Management (PDF) Some international evaluation models for software quality focus on product quality, while others focus on process quality.