Page 239 -
P. 239

210           PART TWO  MANAGING SOFTWARE PROJECTS


                       This relatively simple concept represents an important step towards the creation of
                       an adaptive software engineering process in which changes are made to improve
         “20 percent of the  those elements of the process that introduce error.
          code has 80 percent
          of the defects. Find  To illustrate this, assume that a software engineering organization collects infor-
          them, fix them!”  mation on defects for a period of one year. Some of the defects are uncovered as soft-
          Lowell Arthur   ware is being developed. Others are encountered after the software has been released
                       to its end-users. Although hundreds of different errors are uncovered, all can be
                       tracked to one (or more) of the following causes:
                         •  incomplete or erroneous specifications (IES)
                         •  misinterpretation of customer communication (MCC)
                         •  intentional deviation from specifications (IDS)
                         •  violation of programming standards (VPS)
         WebRef
                         •  error in data representation (EDR)
         The Chinese Association
         for Software Quality  •  inconsistent component interface (ICI)
         presents one of the most
         comprehensive quality  •  error in design logic (EDL)
         Web sites at
         www.casq.org    •  incomplete or erroneous testing (IET)
                         •  inaccurate or incomplete documentation (IID)
                         •  error in programming language translation of design (PLT)

                         •  ambiguous or inconsistent human/computer interface (HCI)
                         •  miscellaneous (MIS)
                       To apply statistical SQA, Table 8.1 is built. The table indicates that IES, MCC, and EDR
                       are the vital few causes that account for 53 percent of all errors. It should be noted,
                       however, that IES, EDR, PLT, and EDL would be selected as the vital few causes if
                       only serious errors are considered. Once the vital few causes are determined, the
                       software engineering organization can begin corrective action. For example, to cor-
                       rect MCC, the software developer might implement facilitated application specifica-
                       tion techniques (Chapter 11) to improve the quality of customer communication and
                       specifications. To improve EDR, the developer might acquire CASE tools for data mod-
                       eling and perform more stringent data design reviews.
                          It is important to note that corrective action focuses primarily on the vital few. As
                       the vital few causes are corrected, new candidates pop to the top of the stack.
                          Statistical quality assurance techniques for software have been shown to provide
                       substantial quality improvement [ART97]. In some cases, software organizations have
                       achieved a 50 percent reduction per year in defects after applying these techniques.
                          In conjunction with the collection of defect information, software developers can
                       calculate an error index (EI) for each major step in the software process {IEE94]. After
                       analysis, design, coding, testing, and release, the following data are gathered:
                       E i  =  the total number of errors uncovered during the ith step in the software engi-
                              neering process
   234   235   236   237   238   239   240   241   242   243   244