Syncing, Pull and Buffers
Let’s refine our process then, but before we do, we should clear some terms up: Syncing, Pull and Buffers. I know, I know I said it wasn’t a school book, but these are super useful ideas to know about.
Pull Principle
If only we had some kind of signal for “we need more”…
When is the right time for the bakery to make more bread? When should the baker prepare the next dough? So much to think about, a baker also has to buy the flour from the miller, who buys the grain from the farmers. With all these factors, when is the perfect time to “get more”?
It would be great if we could just pull a line and then the upstream (supply) process starts. We’d be perfectly N’Sync…and in fact, that’s how it works. Using a so-called pull principle, we just hand Kanban cards to upstream work stations, which in turn sends a signal to pull more raw materials through. Another method of syncing is called Drum Buffer Rope, but here, we hand over Kanban cards.
Have you ever noticed that as some supermarkets lock up for the day, they might ask you to go round the store with a cart? The cart serves as a Kanban, and by limiting the number of carts circulating, they limit the WIP.
So the cool thing about the pull principle is that the number of circulating Kanban is exactly the same as the WIP in our system.
So Kanban is about synchronization and the pull principle, too.
Buffers
Recap! Earlier we said “we try to keep inventory low”, but how low is low enough? How far away is “low enough” from “too low”?
In the KanBun Bakery we want to ensure that the oven, mixer, and delivery van never stay idle. The thing with the pull principle is that it’s a very direct synchronization which isn’t always feasible…for example, it’s highly improbable that a freshly-baked bread will always be ready at the exact time the delivery driver is there to pick up a new package. Also, the cycle time (fancy way to say “how long it takes”) is probably different for all steps. Different bread takes different times to bake, people don’t all live equal distance from the bakery, so “baking” will always take longer or shorter than “delivery”. We just can’t know precisely.
So what we do in such a case is to decouple steps so that each stage can be as efficient as possible, but without introducing the kind of chaos that direct synchronization would cause. We add buffers. In a shop this can be quite visible, think of “shipping areas” or “waiting areas” etc…in manufacturing we call this “inventory”. There’s even a whole science around the optimization of batch sizes and inventories (MRP anyone?).
From the bakery’s perspective the buffer zone would be between baking and delivery, to maximize the delivery efficiency, ecological impact, etc.

So while the buffer can’t (and shouldn’t) be removed, how large should it be? It’s really important to keep in mind that the buffer adds more WIP, which we wanted to keep low. Also any order that isn’t delivered can still be cancelled!
Following agile principles, we welcome change, since it’s the only constant we can plan with. So what happens if I build up large inventories (=a huge buffer) in front of my oven, because …well…it’s my only oven and my constraint. Good thinking, protecting the constraint, it’s the one process step which determines my overall output…however, what happens if I find out that one of my ingredients was bad? The clients changed their minds? In such a case, I’d have a large amount of dough or bread I’d need to throw away….what a waste! Large buffers increase my work in progress, so keep the buffer size low.
Remember? Kanban is about limiting the WIP, so we can always respond to change.
Was That It?
So that’s basically Kanban.
By cutting down on the theory and formulae and replacing them with common sense, you can hopefully see how it can be a very powerful way to deconstruct and manage your work.
One last thing to consider about Kanban though.
Kanban works best with stable processes where tasks are all about the same size, and constraints are quantifiable. For projects with a defined scope and end date, check out it’s cousin Scrum.
For now though, I think I’ll go make myself a sandwich.