Agile estimating 4/4: Kanban approach to estimating

11 Dec 2012 Erik Talboom Agile & ScrumLess is MoreWork is Play

Now I also promised you a second option of using a range of numbers instead of one number. This is something we use in a typical kanban implementation. I’ll explain how we would go about it. In kanban we would start by collecting historical data. Using this data we can discover several types of work that have significantly different cycle times, time to complete a work item. We do this by plotting out the amount of time it took for every single work item we finished.

And I’m not talking about the touch (or ideal) time, I’m really talking about when did we start to work on this and when did we finish it. We track this in what we call a variation report, visualizing the variation on cycle time for all work items. If you have several of these, you will start detecting patterns and start discovering groups of work items. If then you extract these classes of service, as they are called in kanban, into separate variation reports, and take a closer look at one of those it would be something like the graph you see below.

I will not go into all the details of this report; the most important thing is that your lower and upper control limit determine the range of estimated time to finish. So in this example you can say with 95% certainty that you will finish a work item of this type in 5 to 8 days. So every time a new piece of work comes into your system and needs to be estimated you just need to figure out which type of work it belongs to.