Page 142 -
P. 142

CHAPTER

                           5             SOFTWARE PROJECT
                                         PLANNING





               KEY                     oftware project management begins with a set of activities that are col-
               CONCEPTS
                                       lectively called project planning. Before the project can begin, the man-
               automated tools. 139  Sager and the software team must estimate the work to be done, the
               decomposition       resources that will be required, and the time that will elapse from start to fin-
               techniques. . . . . . 124  ish. Whenever estimates are made, we look into the future and accept some
               empirical models 132  degree of uncertainty as a matter of course. To quote Frederick Brooks [BRO75]:
               estimation. . . . . . 123
                                   . . . our techniques of estimating are poorly developed. More seriously, they reflect
               feasibility . . . . . . 117
                                   an unvoiced assumption that is quite untrue, i.e., that all will go well. . . . because
               make/buy            we are uncertain of our estimates,  software managers often lack the courteous stub-
               decision. . . . . . . . 136
                                   bornness to make people wait for a good product.
               outsourcing. . . . . 138
                                   Although estimating is as much art as it is science, this important activity need
               problem-based
               estimation. . . . . . 126  not be conducted in a haphazard manner. Useful techniques for time and effort
                                   estimation do exist. Process and project metrics can provide historical per-
               process-based
               estimation. . . . . . 130  spective and powerful input for the generation of quantitative estimates. Past
                                   experience (of all people involved) can aid immeasurably as estimates are devel-
               resources . . . . . . 120
                                   oped and reviewed. Because estimation lays a foundation for all other project
               software scope . 115
                                   planning activities and project planning provides the road map for successful
                                   software engineering, we would be ill-advised to embark without it.



                  QUICK         What is it? Software project plan-  tems and products cost considerably more to build
                   LOOK         ning actually encompasses all of  than a large house, it would seem reasonable to
                                the activities we discuss in Chap-  develop an estimate before you  start creating the
                    ters 5 through 9. However, in the context of this  software.
                    chapter, planning involves estimation—your  What are the steps? Estimation begins with a descrip-
                    attempt to determine how much money, how  tion of the scope of the product. Until the scope is
                    much effort, how many resources, and how much  “bounded” it’s not possible to develop a mean-
                    time it will take to build a specific software-based  ingful estimate. The problem is then decomposed
                    system or product.                       into a set of smaller problems and each of these
                  Who does it? Software managers—using information  is estimated using historical data and experience
                    solicited from customers and software engineers  as guides. It is advisable to generate your esti-
                    and software metrics data collected from past   mates using at least two different methods (as a
                    projects.                                cross check). Problem complexity and risk are con-
                  Why is it important? Would you build a house with-  sidered before a final estimate is made.
                    out knowing how much you were about to spend?  What is the work product? A simple table delineat-
                    Of course not, and since most computer-based sys-  ing the tasks to be performed, the functions to be


                                                                                                 113
   137   138   139   140   141   142   143   144   145   146   147