Learn agile estimation in 10 minutes
Key points of the YouTube video on Agile Estimation:
The Problem with Estimation: Humans are bad at absolute estimations (e.g., predicting a project will take 6 weeks) but good at relative estimations (e.g., estimating one task will take twice as long as another).
Agile Estimation Techniques:
-
Story Points: An abstract unit of measure, not tied to specific time units (hours, days). Used for relative estimation of task complexity. Teams often utilize the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34, 55, 89…) for story point values because the inherent ratios align better with human perception of effort. Developers estimate story points.
-
Value Points: A measure of the business value of a task, estimated by the customer. This allows prioritization based on importance, not just effort.
-
Bang for the Buck: A metric calculated by dividing Value Points by Story Points. This helps prioritize tasks that deliver the most value per unit of effort.
Iterative Process and Velocity:
-
The process involves creating story points and value points for each task, calculating bang for the buck, then ordering tasks based on this metric (and considering technical dependencies/customer priorities). This is repeated at the end of each iteration.
-
Velocity: The number of story points completed in an iteration. It’s a measure of the team’s speed and helps predict how many story points can be completed in future iterations.
-
Calculating Story Point Duration: After the first iteration, velocity allows for calculating the actual time a story point represents, giving a more concrete time estimate for future tasks.
-
Value Point Decline: The value points delivered per iteration will decrease over time as the highest-value tasks are completed first. This helps the customer assess the cost-benefit of continuing the project. The customer can decide to stop the project when the value of the remaining tasks doesn’t justify the cost.
In essence, the video advocates for a relative estimation system in Agile that focuses on delivering the highest value early and iteratively refines estimates based on actual team performance and changing customer priorities.