MIS 495 -- Dr. Reithel
Chapter 8

Two Kinds of Quality

Quality of Design-- refers to the characteristics that designers specify for an item. The grade of materials, tolerances, and performance specifications all contribute to the quality of design. The design quality of a product increases as higher-graded materials are used and tighter tolerances and greater levels of performance are specified.

Quality of Conformance-- is the degree to which the design specifications are followed during manufacturing. The greater the degree of conformance, the higher the level of quality of conformance.

Kinds of Costs

Costs of quality include all costs incurred in the pursuit of quality or in performing quality related activities, and may be subdivided into costs associated with prevention, appraisal, and failure.

Prevention Costs

Appraisal Costs-- include activities to gain insight into product condition the "first time through" each process

Failure Costs-- costs that would disappear if no defects appeared before shipping a product to customers. Failure costs should be subdivided into internal and external failure costs.

Internal Failure Costs-- costs incurred when we detect an error in our product prior to shipment.

External Failure Costs-- costs associated with defects found after the product has been shipped to the customer.

Defect Amplification Model

The Defect Amplification Model can be used to illustrate the generation and detection of errors during preliminary design, detail design, and coding steps of the software engineering process and adopts a "pay now or pay much more later" approach. The model suggests that during the software development step, errors may be inadvertently generated. Review may not uncover the newly generated errors and errors from previous steps, resulting in some number of error that are passed through to the next step. In some cases, the errors passed through from previous steps are amplified by current work, causing the problem to be much greater in the next step.

Formal Technical Review-- A formal technical review (FTR) is a software quality assurance activity that is performed by software engineers. The objectives of FTR are:

1. to uncover error in function, logic, or implementation for any representation of the software
2. to verify that the software under review meets its requirements
3. to ensure that the software has been represented according to predefined standards
4. to achieve software that is developed in a uniform manner
5. to make projects more manageable

The FTR is actually a class of reviews that include walkthroughs, inspections, round-robin reviews, and other small group technical assessments of software. In addition to the above objectives, FTR serves as a training ground, enabling junior engineers to observe different approaches to software analysis, design, and implementation.

Regardless of the format, every review meeting should abide by the following constraints:

At the end of the review meeting, the participants must decide whether to:

1. accept the work product without further modification
2. reject the work product due to severe errors (once corrected, another review must be performed), or
3. accept the work product provisionally (minor errors have been encountered and must be corrected, but no additional review will be required)

It is important to establish guidelines for the conduct of formal technical reviews in advance. The following represents a minimum set of guidelines for formal technical reviews:

Mean Time Between Failure (MTBF)

In hardware, failures due to physical wear are more common than design related failure. However, the opposite is true for software (actually, all software failures can be traced to design or implementation problems). Keeping this in mind, there is still debate over the relationship between key concepts in hardware reliability and their applicability to software failure.

Although no definite link has been established, it is important to learn key concepts that apply to both system elements. A simple measure of reliability is mean time between failure (MTBF), where

MTBF = MTTF (mean time to failure) + MTTR(mean time to repair)

ISO 9000 describes quality assurance elements and standards in generic terms that can be applied to any business.

ISO 9001 is the quality assurance standard that applies to software engineering. The 20 requirements delineated by ISO 9001 address the following topics:

1. Management responsibility 11. Control of inspection, measuring, and test equipment
2. Quality system 12. Inspection and test status
3. Contract review 13. Control of nonconforming product
4. Design control 14. Corrective and preventive action
5. Document and data control 15. Handling, storage, packaging, preservation, and delivery
6. Purchasing 16. Control of quality records
7. Control of customer supplied product 17. Internal quality audits
8. Product identification and traceability 18. Training
9. Process control 19. Servicing
10. Inspection and testing 20. Statistical techniques

Comparison of ISO 9001 and the Capability Maturity Model for Software
ISO Easy
What is ISO 9000?
Basics of ISO 9000

Suggested Links for Further Readings

General information on SQA (American Society for Quality Control)
Brief discussions and bibliographies on SQA topics
Software Testing Laboratories, Inc.
Archive for formal technical reviews (includes checklists and other information)
b. - Archive for formal technical reviews (includes checklists and other information)
NASA Formal Inspection Guidebook
Repository of info. on safety-critical systems, software safety, and hazard analysis
ISO 9000 Bibliography
List of WWW references for software quality assurance

Last Modified: Wednesday, 13-Jan-99 9:10:00 CDT
Copyright © 1999 University of Mississippi. All rights reserved.

Comments: reithel@bus.olemiss.edu