Effort Estimation

Last modified by chrisby on 2023/12/07 22:12

Techniques

There are a few common techniques for estimating the effort of stories, such as Wideband Delphi or Planning Poker, which are often combined with Three-Point Estimation. However, this article discusses general considerations only.

Tips

  • Story Points: The unit of story estimates is points, which provides a relative measure of effort rather than an absolute measure of time. This helps teams avoid getting bogged down in detailed time-based estimates and their units, and instead focus on comparing the relative size of different stories.
  • The Golden Story: At the very beginning of a project, choose a medium effort story to be the "golden story". It acts as a standard against which every other story must be compared and its estimated effort questioned. This prevents the estimated story points from being artificially inflated later in the project, e.g. due to pressure from management to increase the team's velocity. Velocity is a metric, not a goal, and should be approximately constant throughout the project.
  • Cheap Estimates: Breaking down a task and estimating the subtasks gives a higher accuracy than estimating the original task. Theoretically, this breakdown can be repeated until code level is reached and the feature is implemented, but this would no longer be a planning process. Planning should be cheap, estimating should take little time and be as accurate as necessary.
  • Increasing Estimate Precision: Initial estimates are highly inaccurate. As the project progresses, new insights and feedback loops allow the accuracy to be increased.
  • Uncertainty & Honesty: Be honest about the level of certainty you give for each of your estimates. Sometimes the most honest answer is "I don't know. Uncertain estimates can still be valuable and can be modeled by probabilities, such as an 80% chance of completing a particular task by Friday, or ranges of estimates, such as 1 to 3 days to complete a particular task. A common example of an estimation approach with uncertainties is the three-point estimation technique mentioned at the beginning of this article.
  • Absolute vs Relative Estimates: Absolute estimates are best ("Task A is worth 3 points"), but relative estimates can still be valuable ("Task A will require twice as much effort as Task B").
  • Estimation Stories: If a story is very complex and too uncertain to be reasonably estimated, it may make sense to create a separate "estimation story" whose sole purpose is to make the effort of the original story estimable. This could be done by researching, experimenting, prototyping, or breaking the story into smaller, more easily estimable tasks. Of course, the "estimation story" must be solved before the original story can be implemented.