In software development, an “estimate,” in the usual sense, consists of a quantified evaluation of the effort necessary to carry out a given development task; this is most often expressed in terms of duration.
The intent is to aggregate many such individual estimates, so as to obtain an indication of the overall duration, effort or cost of a software project.
Estimating work effort in agile projects is fundamentally different from traditional methods of estimation. The traditional approach is to estimate using a “bottom-up” technique: detail out all requirements and estimate each task to complete those requirements in hours/days, then use this data to develop the project schedule. Agile projects, by contrast, use a “top-down” approach, using gross-level estimation techniques on feature sets, then employing progressive elaboration and rolling-wave planning methods to drill down to the task level on a just-in-time basis, iteratively uncovering more and more detail each level down.
There are mainly 7 Agile Project Estimation Techniques:
- Planning Poker
- T-Shirt Sizes
- Dot Voting
- The Bucket System
- Affinity Mapping
- Ordering Method