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].