Page 143 -
P. 143

114           PART TWO  MANAGING SOFTWARE PROJECTS



            QUICK         implemented, and the cost, effort,  been completed. However, if you have experience
            LOOK          and time involved for each is  and follow a systematic approach, generate esti-
                          generated. A list of required pro-  mates using solid historical data, create estimation
              ject resources is also produced.        data points using at least two different methods,
           How do I ensure that I’ve done it right? That’s hard,  and factor in complexity and risk, you can feel con-
              because you won’t really know until the project has  fident that you’ve given it your best shot.




                 5.1   OBSERVATIONS ON ESTIMATING

                       A leading executive was once asked what single characteristic was most important
                       when selecting a project manager.  His response:  "a person with the ability to know
                       what will go wrong before it actually does . . ." We might add: "and the courage to
                       estimate when the future is cloudy."
                          Estimation of resources, cost, and schedule for a software engineering effort
                       requires experience, access to good historical information, and the courage to com-
         “Good estimating  mit to quantitative predictions when qualitative information is all that exists.  Esti-
                                              1
          approaches and solid  mation carries inherent risk and this risk leads to uncertainty.
          historical data offer  Project complexity has a strong effect on the uncertainty inherent in planning. Com-
          the best hope that
          reality will win over  plexity, however, is a relative measure that is affected by familiarity with past effort.
          impossible   The first-time developer of a sophisticated e-commerce application might consider
          demands.”    it to be exceedingly complex. However, a software team developing its tenth
          Capers Jones  e-commerce Web site would consider such work run of the mill. A number of quan-
                       titative software complexity measures have been proposed [ZUS97]. Such measures
                       are applied at the design or code level and are therefore difficult to use during soft-
                       ware planning (before a design and code exist). However, other, more subjective
                       assessments of complexity (e.g., the function point complexity adjustment factors
                       described in Chapter 4) can be established early in the planning process.
                          Project size is another important factor that can affect the accuracy and efficacy of
                       estimates. As size increases, the interdependency among various elements of the
                                           2
                       software grows rapidly. Problem decomposition, an important approach to esti-
                       mating, becomes more difficult because decomposed elements may still be formida-
         Project complexity,  ble.  To paraphrase Murphy's law: "What can go wrong will go wrong”—and if there
         project size, and the  are more things that can fail, more things will fail.
         degree of structural  The degree of structural uncertainty also has an effect on estimation risk. In this
         uncertainty all affect  context, structure refers to the degree to which requirements have been solidified,
         the reliability of
         estimates.    the ease with which functions can be compartmentalized, and the hierarchical nature
                       of the information that must be processed.

                       1  Systematic techniques for risk analysis are presented in Chapter 6.
                       2  Size often increases due to the “scope creep” that occurs when the customer changes require-
                          ments. Increases in project size can have a geometric impact on project cost and schedule (M.
                          Mah, personal communication).
   138   139   140   141   142   143   144   145   146   147   148