07 Mar 2015
Planning with Little’s Law
The process of developing software is fraught with many elements of uncertainty and risk. And elevated levels of uncertainty and risk make it difficult to developing accurate forecasts.
In our quest to provide stakeholders with good faith estimates of time, scope and resources, we often end up delivering forecasts that prove to be unreliable more often than not. Poor forecasting erodes trust and any sense of predictability with non-technical leadership – elements that are essential to sustained agility and high-performance.
Scrum has traditionally employed team estimation, story point velocity metrics, and a handful of other mechanisms to improve clarity around planning and forecasting for releases and sprints. While better than many other options, they have proven to be extremely limited in terms of both reliability and scalability across multiple teams.
Scrumban systems, on the other hand, bring a more objective measure to the mix. Scrumban’s emphasis on more objective data (relating to defined workflows) and use of the scientific method allows for the application of mathematical models – models of probabilistic forecasting that inject more reliability into the equation. These enhanced capabilities: * eliminate the need to rely on improving subjective estimating skills * mathematically account for the inherent variability in software development work * provide more uniform measures of performance across multiple teams and systems * minimize the likelihood of others interpreting good faith estimates as firm commitments
Generally speaking, the completeness and sophistication of visualized workflow will dictate the degree to which a team or organization gains additional capabilities. Even the most rudimentary of kanban systems, however, will allow teams to produce more reliable forecasts than Scrum’s estimation techniques alone. Ultimately, the objective data Scrumban systems utilize improves our ability to forecast a number of key things: * the amount of time required to complete any given Release or Project (provided certain variables are known quantities) * the amount of resources required to complete any given Release or Project (provided certain variables are known quantities) * the number of User Stories to be included within a Sprint Backlog
Starting with Little’s Law
Because Scrumban systems are queuing systems, they enable us to apply Little’s Law to statistical data measured through their kanban systems. Little’s Law essentially correlates arrival rate, processing rate and work in progress. Its most basic level works with averages, and can be expressed as:
‘Ave. WIP (amount of resources) = Ave. Lead Time [ # of stories / total project time ]’
Though this mathematical application can yield more reliable forecasting, it’s important to realize we must still apply Little’s Law with care. There are many variables that influence the reliability of any forecast, and at the end of the day we’re still making assumptions. The best use for mathematical models lies in influencing expectations over managing to firm commitments.