Agile Lab - Training, Coaching and Consultancy Blog

Saturday, 28 March 2009 at

Experts Know what they're Capable of - Using Velocity and Yesterday's Weather

This is a reply that I gave to someone on the London Java Community mailing list who was asking about better ways to manage estimation of tasks and time. I thought it was worth reprinting it here.

Dear X,

One of the best ways of improving your abilities at estimating over the length of a Sprint is to use two concepts combined: velocity and yesterday's weather. These are actually some of the more tricky aspects of Agile to explain, but I'll have a go just now, really quickly.

Imagine that you're first sprint is a fortnight. And so, quite naturally you plan to do 10 days work in that week and sign up to do enough stories/tasks to fill those 10 days. At the end of the 10 days you count up how many stories that you have actually done. Surprise, surprise, some things took longer than you thought so you actually only managed to do the tasks that you estimated would take you 7 days.

Ok, important concept #1: Velocity - this figure, the number of days of estimated work that you actually delivered is called your velocity. You can think of it a bit like your power. You thought you could deliver 10 days work, but actually you can only deliver 7. Ouch that hurts doesn't it? But the pain is worth it because by understanding your velocity, you're on the way to being able to accurately estimate things in the future and actually deliver things when you say you're going to deliver them.

Ok, now important concept #2: Yesterday's Weather. For the next sprint of 10 days, you only sign up to stories/tasks that you estimate will take 7 days. Ouch - that hurts even more doesn't it? But what you're doing is using your experience of how good you are at estimating and feeding it back into the process. This of course doesn't meant that if you get through all those things by the end of Wednesday on the second week, you don't find some other stories to work on. What it does mean is that over the course of several iterations, you keep checking with yourself how good you are at estimating your own velocity.

This feature - knowing what you're capable of, being aware of what you can and can't do in a fixed period of time is a well-documented feature of experts and high-performing teams. This books is a fascinating account of how experts are different from beginners http://is.gd/pots


There are bunch of other psychological tricks that you can use to detach yourself from trying to get the number right for any particular job. One that I found very useful is to try to imagine what the absolute worst case scenario figure would be and what the minimum time would be and then take the geometric mean (http://en.wikipedia.org/wiki/Geometric_mean).

I got this idea from this brilliant book about estimation -
Guesstimation: http://tinyurl.com/cypdbg



There's a really good book that looks at all this velocity/yesterday's
weather stuff in close detail: Scrum and XP from the trenches. It
also deals with "focus factor" which is a big issues in actually
delivering on estimates.

http://tinyurl.com/c26p8p


You could also come on my next course:

http://www.nmk.co.uk/event/2009/3/12/reducing-risk-and-improving-results-agile


Regards,

Mark Stringer.

For further information, contact Mark@agilelab.co.uk (07736 807 604)

Labels: , , ,

© Agile Lab, 2007-2009. All rights reserved.

sitemap

Powered by Blogger

Subscribe to Posts [Atom]