Little’s Law is an incredibly helpful principle for business. Unfortunately, it is not used enough, or it is poorly understood. In this article, I want to explore software development processes are impacted by variability, work in process, and how to use Little’s Law to help improve inefficiencies.
In this article, we explore Work in Process Software Development and How to Manage WIP Using Little’s Law to Deliver Software Faster.
You can also view all 40+ articles on Queueing Theory to further review of Queueing in general.
Little’s Law: For a Queueing (Queuing) System in steady state, the average length L of the queue equals the average arrival rate λ times the average waiting time W.
L = λW
Put another way,
Total Cycle Time = Number of Things in Process / Average Completion Rate
For example, let’s assume 8 feature request are what a team can consider per month. If 16 features were in the backlog, then it will take the team 60 days to complete.
In other words,
60 Days = 16 features / 8 feature capacity
But, assume that 4 feature request were released, then it will take the team an average of 14 days to complete those features.
So, what does Little’s Law teach us about speed of delivery?
To deliver faster, we can do two things:
- Reduce the size of work in process (things in process)
- Increase the average completion rate
That’s it. When reduced to the physics of Queueing, those are the two variables that are drivers of speed.
Other Applications of Little’s Law
How else might you apply Little’s Law? Would Little’s Law be helpful in your work? How?