Showing posts with label stable system. Show all posts
Showing posts with label stable system. Show all posts

Stable System, WIP limit and Pull System



On myprevious blog post, I wrote that WIP limit and Pull system are the guiding rules that make a system stable.
 
I decided to make a visual representation for Stable System, and explore the what-if conditions for WIP limit and Pull System. 


Please note that only WIP limit or only Pull System do not guarantee system stability. The combination of both ensures the rate of work items entering the system is the rate of items exiting the system.

What if the WIP is not limited?
Not limiting WIP allows new work items to enter the system, despite of work items leaving the system. In my bar example, new bottles would be added to the bar. This makes the rate at which work item enters the system different than the rate they exit. The system is not stable.

What if Pull System is not being applied?
Not applying Pull System means that a work item exiting the system is not triggering a new one to start. In my bar example, an empty whiskey bottle is removed from it, and a new bottle is not added. This makes the rate at which work item enters the system different than the rate they exit. The system is not stable.

Little’s law and stable systems



Little’s law is defined in terms of stable systems. On my previous post, I have described my bar as a stable system: “Whenever a bottle finishes, I remove it from the bar. Then I open a new one, and add it to the bar. My bar is a stable system: the rate at which whiskey bottles enter the bar is the rate at which they exit.”

This describes the mechanics for inbound and outbound work items (whiskey bottles); but what is guiding these decisions?

Basically two guiding rules make my bar a stable system: (1) WIP limit and (2) Pull System.

WIP limit
WIP, or work in progress, is the number of work items in my system. In my bar example it is the number of whiskey bottles on the bar. Bottles that have been opened, but are not finished yet. The WIP limit on my bar is 12 bottles because that's all I have space for.

Pull System
Pull System describes the movement of work items driven by actual demand. In my bar example, a bottle that is finished opens a spot on my bar. Therefore creating a demand for a new bottle to be opened and placed at the bar. Essentially, the movement of work items (whiskey bottles) is driven by actual demand: a finished bottle is removed from the bar, opening space for a new one that is promptly added to the bar, occupying the vacant space..  

Lead time: Applying Little's Law to track it



“The average number of work items in a stable system is equal to their average completion rate, multiplied by their average time in the system.” ~ John Little, 1961

The text above is from "A Proof for the Queuing Formula" by Little, J. D. C. (1961). It is knows as the Little’s law.

By solving this simple first equation you are able to find out the average time for work items in your system. My whiskey bar provides us a great stable system example to illustrate how you can apply Little’s law to track the average lead time.

My whiskey bar
my bar
My wife and I have a combination. The right side of the bar is mine, the left side is hers. I only drink whiskey. My side of the bar fits 12 bottles of whiskey. 

Whenever a bottle finishes, I remove it from the bar. Then I open a new one, and add it to the bar. My bar is a stable system: the rate at which whiskey bottles enter the bar is the rate at which they exit.

The number of whiskey bottles at my bar is constant: 12 bottles. Per year, I finish an average of 6 whiskey bottles. So, what is the average time for whiskey bottle in my bar?

Let's apply Little's law
Little’s law: “The average number of work items in a stable system is equal to their average completion rate, multiplied by their average time in the system.”

Or
The average number of work items in a stable system
=
average completion rate
X
average time in the system

Using  my bar terms:
12 bottles (number of whiskey bottles in my bar)
=
6 bottles / year (average completion rate)
X
average time in my bar

Therefore, the average time a whiskey bottle stays in my bar is 2 years.

Give it a try! Go ahead and apply the Little’s Law formula to your stable system. Similarly to  my bar example, given the average work items in the system (WIP) and the completion rate (throughput), you can derive the average time in the system (lead-time).