Page 228 -
P. 228

CHAPTER 8  SOFTWARE QUALITY ASSURANCE                              199

                              approach to the elimination of the root causes of product defects. Throughout the
                              1970s and 1980s, their work migrated to the western world and was given names
                                                                 2
                              such as “total quality management” (TQM). Although terminology differs across dif-
                TQM can be applied to  ferent companies and authors, a basic four step progression is normally encountered
                computer software.
                The TQM approach  and forms the foundation of any good TQM program.
                stresses continuous  The first step, called kaizen, refers to a system of continuous process improvement.
                process improvement.  The goal of kaizen is to develop a process (in this case, the software process) that is
                              visible, repeatable, and measurable.
                                The second step, invoked only after kaizen has been achieved, is called atarimae
                              hinshitsu. This step examines intangibles that affect the process and works to opti-
                              mize their impact on the process. For example, the software process may be affected
                              by high staff turnover, which itself is caused by constant reorganization within a com-
                              pany. Maybe a stable organizational structure could do much to improve the quality
                              of software. Atarimae hinshitsu would lead management to suggest changes in the
                              way reorganization occurs.
                                While the first two steps focus on the process, the next step, called kansei (trans-
               WebRef         lated as “the five senses”), concentrates on the user of the product (in this case, soft-
               A wide variety of  ware). In essence, by examining the way the user applies the product kansei leads to
               resources for continuous  improvement in the product itself and, potentially, to the process that created it.
               process improvement and  Finally, a step called miryokuteki hinshitsu broadens management concern beyond
               TQM can be found at
               deming.eng.clemson.  the immediate product. This is a business-oriented step that looks for opportunity in
               edu/           related areas identified by observing the use of the product in the marketplace. In the
                              software world, miryokuteki hinshitsu might be viewed as an attempt to uncover new
                              and profitable products or applications that are an outgrowth from an existing
                              computer-based system.
                                For most companies kaizen should be of immediate concern. Until a mature soft-
                              ware process (Chapter 2) has been achieved, there is little point in moving to the next
                              steps.



                              8.3  SOFTWARE QUALITY ASSURANCE
                              Even the most jaded software developers will agree that high-quality software is an
                              important goal. But how do we define quality? A wag once said, "Every program does
                              something right, it just may not be the thing that we want it to do."
                                Many definitions of software quality have been  proposed in the literature. For our
                              purposes, software quality is defined as
                ?  How do we  Conformance to explicitly stated functional and performance requirements, explicitly doc-
                   define
                software quality?  umented development standards, and implicit characteristics that are expected of all pro-
                              fessionally developed software.


                              2  See [ART92] for a comprehensive discussion of TQM and its use in a software context and
                                [KAP95] for a discussion of the use of the Baldrige Award criteria in the software world.
   223   224   225   226   227   228   229   230   231   232   233