Page 36 -
P. 36

CHAPTER 1  THE PRODUCT                                              7

               FIGURE 1.1
               Failure curve
               for hardware

                                          “Infant              “Wear out”
                                          mortality”
                               Failure rate












                                                         Time



                              ity is achieved through good design, but the manufacturing phase for hardware can
                              introduce quality problems that are nonexistent (or easily corrected) for software.
                              Both activities are dependent on people, but the relationship between people applied
                              and work accomplished is entirely different (see Chapter 7). Both activities require
                              the construction of a "product" but the approaches are different.
                                Software costs are concentrated in engineering. This means that software proj-
                              ects cannot be managed as if they were manufacturing projects.

                Software doesn’t wear  2. Software doesn't "wear out."
                out, but it does
                deteriorate.  Figure 1.1 depicts failure rate as a function of time for hardware. The relationship,
                              often called the "bathtub curve," indicates that hardware exhibits relatively high fail-
                              ure rates early in its life (these failures are often attributable to design or manufac-
                              turing defects); defects  are corrected and the failure rate drops to a steady-state level
                              (ideally, quite low) for some period of time. As time passes, however, the failure rate
                              rises again as hardware components suffer from the cumulative affects of dust, vibra-
                              tion, abuse, temperature extremes, and many other environmental maladies. Stated
                              simply, the hardware begins to wear out.
                                Software is not susceptible to the environmental maladies that cause hardware to
                              wear out. In theory, therefore, the failure rate curve for software should take the form of
                              the “idealized curve” shown in Figure 1.2. Undiscovered defects will cause high failure
                              rates early in the life of a program. However, these are corrected (ideally, without intro-
                              ducing other errors) and the curve flattens as shown.The idealized curve is a gross over-
                              simplification of actual failure models (see Chapter 8 for more information) for software.
                              However, the implication is clear—software doesn't wear out. But it does deteriorate!
                                This seeming contradiction can best be explained by considering the “actual curve”
                              shown in Figure 1.2. During its life, software will undergo change (maintenance). As
   31   32   33   34   35   36   37   38   39   40   41