Agile Estimation

Agile estimation is used to estimate the schedule and budget of a project. Agile teams use estimation techniques to estimate the size, complexity, and risk of their work elements.

What is Agile Estimation

Agile estimation is used to estimate the schedule and budget of a project and always include a degree of uncertainty. Agile estimates help identify the value and feasibility of a project and make appropriate decisions.  The accuracy of the estimations increases as the project details emerge as the project moves forward. Estimating occurs at the last responsible moment throughout the project, as details emerge as the project progresses and plans need to be adjusted in response to feedback and changes. Estimates are made at various stages of sizing and planning following the rolling wave planning model.  It is worth noting that agile teams are self-organize and therefore self-estimate their own work. Agile teams use estimation techniques to estimate the size, complexity, and risk of their work elements. Some of the agile estimation techniques include affinity estimation, wideband delphi, planning poker (the most popular). Agile estimations use relative sizing to assign story points to the user stories on a relative scale. The team then decides how many story points can be completed in one iteration. Some estimation units include t-shirt size, ideal time, and story points.

Top related courses to Agile Estimation

Related methods and techniques to Agile Estimation

  • Ideal Time

    1. Ideal Time

    Ideal time or days is another unit of agile estimation that estimates how long a work will take if there would be no interruptions. Ideal time assumes that all the time in estimate is for project work. However, in reality the agile team members are often distracted or pulled out for other activities such as team meetings, support, and trainings.

  • Story Points

    2. Story Points

    Story points are the relative size or values of user stories and is one of the most popular unit of measure to estimate overall effort needed for an agile project. The story points are assigned to user stories on a relative scale. The scale used for relative sizing of the stories often follows the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21). The team first decides on a baseline story with an estimate of 1 story point. Accordingly, they make a relative sizing for other stories considering the baseline story. For example, a user story with 5 points is five times larger than a story with 1 point.
    Story point estimate include all the activities, efforts needed to complete the work.
    Agile teams decide how many story points they can complete in an iteration.

  • Affinity Estimation

    3. Affinity Estimation

    Affinity estimation is a technique to group user stories based on their similarities in complexity and size. Affinity estimation enables a large number of stories to be estimated quickly.

    Steps of affinity estimation could be as follows:

    • a relative measure unit is agreed by the team and different measure sizes are written into columns on a wall.
    • an already completed user story is placed in each column, the size of which has been proven. These user stories are then used as a reference for comparision.
    • The team takes stories from the backlog list (written on sticky notes), compares them to the reference story, and place them on the appropriate columns (affinity).
  • Wideband Delphi

    4. Wideband Delphi

    Broadband Delphi is a group consensus technique based on multiple rounds of anonymous estimation. The goal of anonymous estimation is to avoid the "halo effect", "Bandwagon effect – gathering around common viewpoint", and the "HIPPO effect – Highest-paid person's opinion".

    In Broadband Delphi, the participants submit their votes or estimates anonymously. If estimates differ significantly, the facilitator will provide a summary of the estimates, including assumptions, for participants to review their submission.
    The facilitator repeats the exercise until the range of estimates become similar and agreeable by most, and the consensus emerge.

    Broadband Delphi is a very useful group-thinking technique to maintain group harmony in decision making.

  • Planning Poker

    5. Planning Poker

    In planning poker estimation technique, each participants is given cards with the Fibonacci sequence. First a user story is presented. Each participant shows their card of their choice at the same time to score the size of the user story. If there is a significant difference between the numbers shown, the team discusses its arguments and repeats the estimate until a consensus emerges.

  • Team Velocity

    6. Team Velocity

    Velocity is a measure of how much work (sum of the story points of done stories) a team can get done per iteration.
    Velocity is helpful to predict how much work can be done in future iterations. Velocity changes and should be measured at the end of each iteration. It is worth noting that the velocity of teams cannot be compared as the sizing and estimation in each team varies from others.

    Computing the initial velocity faces the "Cold start" issue, and can be done as follows: • based on historical data of previous similar projects, • running a few iterations and then calculate the velocity, • or based on expert judgment.

  • T-shirt Sizing

    7. T-shirt Sizing

    T-shirt sizeing is a relative sizing unit that uses T-shirt sizes that are relative to one another such as XS, S (Small), M (Medium), L (Large), XL, etc.

    The agile team decides how a small (S) user story look like. Then other user stories are sized relative to the agreed small story. If a User Story is slightly smaller or larger, it will be sized XS or M or L. If the difference is very large, Agile team will choose extra sizes like XXS, XS, XL and XXL.