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