Page 163 - Software and Systems Requirements Engineering in Practice
P. 163

129
                                       t
                                        e
                                     a
                                      p
                                           5
                                            :
                                         r

                                    h
                                                                      u
                                                                         e
                                                                   e
                                                                       i
                                                                            n
                                                                           e
                                                                        r
                                                                              t
                                                            i
                                                             b
                                                          t
                                                           r
                                                                e

                                                              u
                                                               t
                                                         t
                                                   l
                                                    i
                                                 u
                                                  a

                                                        A
                                                     t
                                                      y
                                                                    q
                                                                          m
                                                                               s
                                   C C h a p t e r   5 :      Q Q u a l i t y   A t t r i b u t e   R e q u i r e m e n t s      129
                                                                  R
                      •  The  major  cost  drivers  for  large  software  applications  in  the
                        10,000 function point size range are finding and fixing bugs and
                        producing documentation.
                      •  Applications  in  the  10,000  function  point  size  range  generate
                        about  50  different  kinds  of  documents  and  total  about  6,000
                        pages.  More  than  200,000  English  words,  plus  about  5,000
                        diagrams, will be created. More than 30 percent of the cost of
                        software goes to document production.
                      •  There will be about 3 defects per page or 18,000 defects in the
                        documents. Unless document inspections are used, many of these
                        will find their way into the code and eventually go to customers.
                      •  The total volume of defects for applications in the 10,000 function
                        point size range is about 50,000. Defect removal efficiency for
                        this size range averages only about 80 percent. That means that
                        the software will be delivered (if it is delivered at all) with 10,000
                        latent defects that were not found during development.
                      •  Testing such large applications requires at least 10 different test
                        stages.  A  total  of  about  55,000  test  cases  will  be  created.
                        Unfortunately,  each  testing  stage  is  only  about  30  percent
                        efficient, or only finds about one bug out of three.
                      •  About  25  percent  of  the  test  cases  will  have  defects  or  bugs
                        themselves. It often happens that the error density of test cases is
                        higher than the error density of the software itself.
                      •  About 7 percent of attempts to fix bugs will be “bad fixes” that
                        accidentally inject a new defect back into the application. If you
                        start with 50,000 defects and find 40,000 of them, then you will
                        create about 2,800 new defects while trying to fix the 40,000 that
                        you  discovered.  These  will  probably  get  delivered  with  the
                        10,000 defects that slipped through testing, leading to a delivered
                        total of about 12,800 defects. Of these about 20 percent will be
                        high-severity defects.
                      •  If  formal  inspections  are  used  for  requirements,  design
                        documents, architecture documents, and other key information
                        sources, they have a measured defect removal efficiency level of
                        about 85 percent. Inspections should be mandatory for a project
                        of this size.
                      •  If  code  inspections  plus  document  inspections  are  used,  it  is
                        possible to elevate defect removal efficiency up to 96 percent or
                        slightly higher. Doing so will greatly raise the odds of a successful
                        outcome.
                      More  data  on  software  and  documentation  defects  and  their
                   implications can be found in [Jones 2007, 2008].
   158   159   160   161   162   163   164   165   166   167   168