This column is the seventh in a series about estimating.
The first was in the July 1996 issue. The most recent
several columns have focused on estimates based on lines of
code (LOC). There are, however, several types of source
code as well as many other important product types.
Examples are new, modified, and reused code, as well as
documentation, screens, reports, and files. The principal
question addressed by this column is: What are the most
important product types to consider, and how do you
The prior columns in this series gave an overview of
estimating and defined some of the steps in making size and
resource estimates. If you have not read these earlier
columns, you should look at them first to understand the
context for this discussion and to see how these various
estimating topics relate. To repeat what I have said in
previous columns, the estimating method described here is
called PROBE. If you want to quickly learn more about
PROBE, you should read my book
A Discipline for Software
Engineering, from Addison
Wesley. This book introduces the Personal Software Process
(PSP)SM, which is an orderly and defined way for
software engineers to do their work.
This column continues the discussion of how to make
software estimates. To make a project plan, you need a
resource estimate and, to estimate resources, you need to
estimate the size of the product you plan to build. Also,
to make a good size estimate, you need historical data on
the sizes of the programs you have previously written.
This and the previous columns describe how to gather these
data and how to use them to make the size and resource