Queueing theory is a body of mathematics which predicts how work flowing through an organization will behave. Queueing theory is used to design phone systems, Internet networking, traffic control systems, and other types of systems which manage work in packets. Over the last 100 years, we’ve learned a lot about queueing theory and we know that it works.
The principles of queueing theory can be used to reliably improve or optimize the flow of work through an organization. It’s not guessing, because it’s based on science. These principles and tools are used in various “agile” frameworks as well as other fields such as manufacturing:
- Batch size
- WIP limits
- Pull management
- Cadence
- Job prioritization
Applying these principles allows you to design a management framework or method which will optimize your system. Depending on the properties of the batches (evenly sized or not? interdependent or not? predictable or not?), different resulting management frameworks will be optimal for different organizations. The frameworks may look very different from each other, but they all derive from the same principles.
Luckily, it’s not necessary to do much actual math in order to benefit from queueing theory. You do need to understand the basic model involved – how to define a batch, and how to see your work flowing through your organization. Most of the principles can then be applied successfully by using common sense and approximation.
If you want to know all the details, my favorite reference is Don Reinertsen’s The Principles of Product Development Flow: Second Generation Lean Product Development.
Your journey through queueing theory starts with the concept of a batch – see Achieve Agility with the Right Batch
You might also like What Makes Agile Work.