Effective Forecasting: Estimation in Kanban
When it comes to project management, the big question is always “How long will this take?”. From single work items to entire projects, making accurate delivery forecasts maintains a high level of customer trust and satisfaction.
In the Agile community, there are many different opinions about how often estimation should be performed and how detailed an estimate should be. Some teams prefer not to estimate at all – time spent making estimates is time that could have been spent creating more value. Others prefer to set direction using Kanban roadmaps, while leaving the details to be worked out day-by-day. Nevertheless, when you are bound by fixed deadlines and release dates, a certain level of estimation is necessary to keep things running smoothly.
Estimates are by definition not exact and affected by multiple risk factors. The Kanban method suggests data-driven, probability-based future predictions using only historical performance records. Learn how to use these scientifically proven methods to make accurate Kanban estimates.
Estimating for single tasks: Cycle time scatterplot
Cycle time measures how long it takes for a task to be completed once it has been pulled into the workflow. The cycle time scatterplot shows the cycle times for all tasks completed during a certain timeframe.
By looking at how fast tasks have been completed in the past, you can make predictions about your future performance. The cycle time scatterplot can be used to give both an estimated time of a single task completion and the probability of that commitment being met.
The horizontal percentile lines crossing the scatterplot indicate how many tasks are completed within a certain cycle time. A scatterplot with the 85th percentile line crossing the 37 day mark means 85% of tasks were completed within 37 days or less. This means that this team can communicate to the client that any item pulled into the workflow has an 85% chance of being completed within this timeframe.
One great advantage of the cycle time scatterplot is that you can estimate cycle time for any type of task. No matter your team or task size, these Kanban estimates can be used to set service level agreements with your customers.
Estimating for projects: Monte Carlo simulation
Monte Carlo simulations use historical data to model the probability of different outcomes. They can be used for almost any process and are especially useful in processes where unpredictability is high due to risk, uncertainty or multiple random variables being in play.
In Kanban, Monte Carlo simulation uses past throughput data to estimate future throughput. The simulation is run many times using a range of possible values for uncertain variables. This means that rather than spitting out a single number, Monte Carlo simulations show a probability distribution. The central peak indicates the most likely throughput outcome, with the most optimistic and conservative outcome shown by the tails.
Monte Carlo simulations are a popular forecasting tool used across several project management methodologies. They are regarded as the most accurate and realistic way of showing the likelihood of different outcomes in Kanban processes.
How not to estimate in Kanban
Kanban tracks many different metrics and uses several different tools for analysis. It’s important to keep in mind which tools are for looking ahead and which are for looking back. Using the wrong method for Kanban estimation will give you inaccurate results.
WIP = Throughput * Cycle Time
In a stable system which does not violate the Little’s Law assumptions, this relationship remains valid no matter the type of work or size of task. However, the formula cannot be used to make accurate future predictions.
Little’s Law tells us that to reduce cycle time, either throughput must increase or WIP must decrease. However, this does not mean that halving WIP will also halve your cycle time! It only means that the relationship will balance. A change to WIP will cause cycle time or throughput or both to change to maintain the relationship.
This makes Little’s Law an unsuitable method for estimation in two ways. First, Little’s Law is based on averages, which should not be used for forecasting. Second, there is no way to know the exact way changing one variable will affect the other two. Nevertheless, the more closely your process follows the Little’s Law assumptions, the more predictable and stable it will be.
Cumulative Flow Diagram Projections
The cumulative flow diagram is a powerful tool for analysing your process efficiency. Learning its common patterns helps you to identify bottlenecks and stop them before they grow bigger. However, the CFD should be used for analysing your past performance instead of estimating the future. Again, CFD will give an estimate based on averages and forecasts should never be made based on an average.
While it is tempting to try and forecast using the CFD, this is an inaccurate method and it is not recommended. A Monte Carlo simulation makes far better predictions as it takes into account the probability distribution of different outcomes. We highly recommend sticking to Monte Carlo simulations for large-scale estimation in Kanban.
In any process with multiple variables, relying on “single point” estimates for likely delivery times is simply inaccurate. Kanban estimates give both timeframes and probabilities, keeping customers informed of the range of different possible outcomes. Using these data-driven probabilistic methods keeps estimates reliable and eliminates guesswork.
Are you using Kanban estimates? Are they more accurate than your old methods of estimating? Tell us about your experience in the comments!
Meet the Author
Sonya Siderova is a passionate product manager and a driving force behind Nave, a Kanban analytics suite that helps teams improve their delivery speed through data-driven decision making. When she's not catering to her two little ones, you might find Sonya absorbed in a good heavyweight boxing match or behind a screen crafting a new blog post.