- Software, Software Engineering, and the Software Engineering Process
- Object Orientation
- Defect Management
- Specifying Quality
- Views of Quality
- Internal Quality and External Quality: Form Complements Function
- Software Product Quality Attributes
- Assessing Product Quality
- Achieving Quality Goals
- Conclusion
Views of Quality
Quality may be viewed from many different perspectives. Garvin (1988) provided a classification of views of quality on the basis of the "metaphysics" of the term. He concluded that quality may be viewed from five distinct perspectives:
- The transcendental view;
- The user view;
- The manufacturing view;
- The product view; and
- The value-based view.
The transcendental view is the ethereal notion that you'll know it when you see it. In other words, quality is a notion that we all strive for and achieve in all our endeavors. Various levels are recognizable but not necessarily measurable. Elegant as it may be, this definition is useless to any notion of assessment and measurement of quality, or the construction of methodologies to do so.
The user view is grounded in product characteristics that meet the user's needs. This view takes an evaluative view and examines the product in terms of meeting user requirements. This view is therefore the one adopted by Crosby (1979), who has put forth one of the most influential and well-publicized definitions of quality: Quality is conformance to requirements.
The manufacturing view is the most popularly held view of quality (Kitchenham & Pfleeger, 1996). In a survey reported in IEEE Software a number of years ago, nearly 50% of respondents held a view of quality most aligned with the manufacturing view, and more than 67% held a view that included the manufacturing view (Kitchenham & Pfleeger, 1996). This view considers the process of construction of the artifact and assesses to what degree the product is developed "right" the first time. The aim seems to be quality control and the efficacy of the construction process as measured by the extent of rework required.
The product view is a look at the product from the perspective of the "construct" of the product itself; that is, the product's internal and inherent characteristics. It was the second most popular view held by the respondents of the survey just mentioned (more than one-third of the respondents). This view is in line with the Bauhaus principle of fitness-of-form. Provided that we can establish a relationship between internal characteristics of a product and how it performs, this definition provides at least a partial inroad into the problem of quality measurement because it is a lot easier to measure internal product attributes than external product behavior (Fenton, 1991). This is a concept that we further discuss later in this section and it is one of the important elements of this work.
The value-based view relates the concepts discussed in the previous section. It deals with the multiplicity of views of various stakeholders and the fact that there is not one view of quality that is always right. It is in line with the fitness-for-purpose definition and another influential definition of quality that states: "Quality is all the features that allow a product to satisfy stated or implied needs at an affordable cost" (ISO 8402).
Agreeing with the principle of multiplicity of views at the core of the value-based view, and as such also with Dromey and McGettrick (1992), we believe that a multifaceted definition is required to be utilized as a basis for the construction of methods for the measurement of product quality.
Dromey and McGettrick (1992) provided arguments that lead us to the following definition of quality: Quality of a product depends on the measures of fitness-for-purpose of the solution and fitness-of-form of the design of the product. The quality of a process depends on the measure of the efficacy of means by which the process builds products of quality.
Taking such an approach to quality has the following advantages:
Fitness-for-purpose is in line with many of the most popular definitions of quality given (e.g., that of Crosby and that of ISO). It provides a functional, user, and in itself a multiperspective view of quality.
Fitness-of-form is in line with the product view of software and permits a constructive approach to measurement of quality.
Efficacy of means highlights the importance of process and brings to the forefront the manufacturing view of quality.
These three elements together cover nearly 100% of all views of (at least) the respondents to the survey previously mentioned, and together subsume virtually all other definitions of quality with the possible exception of some transcendental definitions, as the former will by necessity fall into one of the categories already mentioned.
This definition is going to be the basis of our work in this book. Using this definition, we evaluate software products of interest from a perspective that includes both the fitness-for-purpose and the fitness-of-form considerations. We also propose ways of utilizing the concept of process efficacy as a means of relating product quality to process quality. In this discussion we refer to the fitness-for-purpose considerations of products as external quality attributes and to the fitness-of-form considerations as internal quality attributes.