Page 222 -
P. 222
CHAPTER
8 SOFTWARE QUALITY
ASSURANCE
KEY he software engineering approach described in this book works toward
CONCEPTS a single goal: to produce high-quality software. Yet many readers will be
defect Tchallenged by the question: "What is software quality?"
amplification . . 204
Philip Crosby [CRO79], in his landmark book on quality, provides a wry answer
formal technical to this question:
reviews. . . . . . . . 205
ISO 9000 . . . . . . 216 The problem of quality management is not what people don't know about it. The
poka yoke. . . . . . 214 problem is what they think they do know . . .
In this regard, quality has much in common with sex. Everybody is for it. (Under
quality. . . . . . . . . 195
certain conditions, of course.) Everyone feels they understand it. (Even though they
quality costs. . . . 196
wouldn't want to explain it.) Everyone thinks execution is only a matter of following
software safety. 213
natural inclinations. (After all, we do get along somehow.) And, of course, most peo-
SQA . . . . . . . . . . 199 ple feel that problems in these areas are caused by other people. (If only they would
SQA activities . . 201 take the time to do things right.)
SQA plan . . . . . . 218
Some software developers continue to believe that software quality is some-
statistical SQA. . 209
thing you begin to worry about after code has been generated. Nothing could
variation. . . . . . . 194 be further from the truth! Software quality assurance (SQA) is an umbrella activ-
ity (Chapter 2) that is applied throughout the software process.
QUICK What is it? It’s not enough to ity in all software engineering activities, it reduces
LOOK talk the talk by saying that soft- the amount of rework that it must do. That results
ware quality is important, you in lower costs, and more importantly, improved
have to (1) explicitly define what is meant when time-to-market.
you say “software quality,” (2) create a set of What are the steps? Before software quality assur-
activities that will help ensure that every soft- ance activities can be initiated, it is important to
ware engineering work product exhibits high define ‘software quality’ at a number of different
quality, (3) perform quality assurance activities levels of abstraction. Once you understand what
on every software project, (4) use metrics to quality is, a software team must identify a set of
develop strategies for improving your software SQA activities that will filter errors out of work prod-
process and, as a consequence, the quality of ucts before they are passed on.
the end product. What is the work product? A Software Quality Assur-
Who does it? Everyone involved in the software engi- ance Plan is created to define a software team’s
neering process is responsible for quality. SQA strategy. During analysis, design, and code
Why is it important? You can do it right, or you can generation, the primary SQA work product is the
do it over again. If a software team stresses qual- formal technical review summary report. During
193