Applicability of Techniques in This Chapter | |||
---|---|---|---|
Function Points | Dutch Method | GUI Elements | |
What's estimated | Size, Features | Size, Features | Size, Features |
Size of project | S M L | S M L | S M L |
Development stage | Early-Middle | Early | Early |
Iterative or sequential | Sequential | Sequential | Sequential |
Accuracy possible | High | Low | Low |
Once you move from directly estimating effort and schedule to computing them from historical data, size becomes the most difficult quantity to estimate. Iterative projects might use a size estimate to help determine how many features can be delivered within an iteration, but they usually focus on techniques designed to estimate features more directly. Estimation in the later stages of sequential projects tends to focus on bottom-up effort estimates created by the people who will be doing the work. Estimating size is thus most applicable to the early and middle stages of sequential projects. The purpose of a size estimate is to support long-range predictability in the wide part of the Cone of Uncertainty.
The common size measures of lines of code and function points have different strengths and weaknesses, as do custom measures defined by organizations for their own use. Creating estimates by using multiple size measures and then looking for convergence or spread tends to produce the most accurate results.
This chapter describes how to create the size estimate. Chapter 19, "Special Issues in Estimating Effort," explains how to convert this chapter's size estimates into an effort estimate, and Chapter 20, "Special Issues in Estimating Schedule," describes how to convert the effort estimate into a schedule estimate.