Agile #4 – Estimation and planning

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