Yesterday we described a pull system in a factory and how it differed from a push system often used by software teams. For the next 10 days we are going to post an everyday scenarios and ask whether you think it is a push or pull system. We will add our thoughts too.
So, here is scenario number 1: a coffee shop.
It depends on how the coffee shop is being run:
At the awesome Lyle’s, the barista takes my order and then makes my coffee. This is a strict PULL system with a WIP of 1: each customer orders and receives their order before the next customer is dealt with. Lyle’s knows that you don’t go there because you’re in a rush; you go there because it serves probably the best coffee in London.
A pull system works equally well at Pumpkin on train platforms, where customers might need to abort if their train arrives before they are served. Pumpkin doesn’t make customers commit to a purchase until they are ready to serve them. This probably also saves them making coffees for customers who have run off!
But most high street coffee chains work on a PUSH basis: orders are taken by someone at the till who takes the customer’s money, then feeds the order through to a barista. This ties in customers (you pay then wait – you’re not going to abort). But they don’t work on a one-in, one-out basis: it is not a stable system. They continue to take orders from multiple customers, feeding orders through to the barista before they have completed the previous order. These subsequent orders might even be pushed to the barista in batches. This opens up the system to queues, errors from working on too many orders at once, and defects that are only noticed after multiple customers have been served.
Sometimes you find a high street chain using a resource efficient PULL system: this uses a less friendly pull system that is designed to ensure staff are 100% utilised. An example of this type of system is when individual baristas take multiple orders from customers and work on them in batches. The customer is charged upfront, tying them in to a purchase which is worked on alongside other orders and may not be delivered in the same priority that they were ordered. You can read more about resource efficiency and flow efficiency in this previous blog post.
We will post another everyday pull|push system post tomorrow.
If you liked this post, you might enjoy our monthly newsletter. Sign up here.