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 estimate them?
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 estimates.