# Estimation
---
Estimation is the most valuable skill you can cultivate as a developer.
---
## Recap
---
### As a team
1. Agree a specification
2. Separate into individual issues
3. Order the issues sequentially
4. Assign issues from the top
5. Raise PRs, as needed
6. Only merge a PR if it relates to an open issue
7. After closing an issue, assign the next one
---
## New version
---
1. Agree a specification
2. Separate into individual issues
3. Order the issues sequentially
4. ***Estimate the size of each issue***
5. Assign issues from the top
6. Raise PRs, as needed
7. Only merge a PR if it relates to an open issue
8. ***When closing an issue, record actual size***
9. After closing an issue, assign the next one
---
## Issue size labels
To be added to issues
---
### Estimation labels
- `E1` - Short story, estimated
- `E2` - Story, estimated
- `E3` - Long story, estimated
- `E5` - Extra long story, estimated
---
### Actual labels
- `A1` - Short story, actual
- `A2` - Story, actual
- `A3` - Long story, actual
- `A5` - Extra long story, actual
---
Think of these labels as relative, not absolute.
Each label is a multiple of the shortest one:
twice, thrice or five times the size.
---
## Using issue labels
---
### Before each presentation...
---
1. Count up the ***estimated points*** in your closed issues since your last presentation.
This is your ***estimated velocity***.
---
2. Count up the ***actual points*** in your closed issues since your last presentation.
This is your ***actual velocity***.
---
### At presentation
Report on estimated vs actual velocities
---
The aim is to get the two numbers closer to each other with each estimation cycle.
---
### Between presentations
Re-estimate the open issues in your backlog.
Aim to improve your estimates with practice.
---
## Remember
1. As a team, estimate the size of each issue before starting work on them
2. When closing an issue, record its actual size
---
## Final thought: Hofstadter's Law
It always takes longer than you expect, even when you take into account Hofstadter's Law.
{"title":"Estimation","description":"Estimation is the most valuable skill you can cultivate as a developer.","contributors":"[{\"id\":\"8719d6dc-d98a-4680-91f3-8a21fcb8ec84\",\"add\":3330,\"del\":1217,\"latestUpdatedAt\":1764067178128}]"}