How do you plan and estimate in Agile?
Planning
- a multilevel planning – release planning (several months), iteration planning (several weeks), daily planning
- frequent – not a lot of details in the beginning
- just enough, just in time –
- adapt and replan – as things change, we are open to change the plan
Estimation
- Effort vs duration – ideal days (developer days) = will take to complete a story if you work uninterrupted
- Accuracy vs precision – instead of going into details so you can estimate « with precision », you can use « sizing buckets » (Fibonacci series, XS, S, M, L, XL) and put the stories there
- relative vs absolute sizing – story points vs ideal days
- estimation styles
- Simple – free form
- Planning poker
- time consuming
- uncover misunderstandings
- collective ownership
- engaged
- good for backlog grooming
- Card sorting
- useful when estimating large number of stories together
Velocity
- The amount of work done by the team in a sprint
- It is used for selecting story in the upcoming sprint
- the last sprint velocity
- average of last sprints
- range
- it can be adjusted
Release planning
- Fixed scope – How long it will take?
- you need know the sprint length, the velocity
- Fixed date – What can we deliver?
- How to select stories:
- story map
- value market
- learning
- short feedback loop
Release tracking
It indicates when the release will be done or if we are on the track for a particular release. There are three ways to do that:
- release burn-up
- story board
- cumulative flow diagram