Please learn from our mistakes

No-bullshit lessons in business and careers. One mail every day. 15k+ readers love it. Join in?

Oops! Something went wrong while submitting the form.
17 Feb

Batch vs. Flow Processing: A Bachelor's Dilemma

Here's a hypothetical scenario (all resemblances to my own past experience living as a bachelor are purely coincidental, okay):

You move into your first rented house. This is the first time in your life you're living by yourself.

Running your own house is a great way to learn systems thinking, you tell yourself.

The initial honeymoon period lasts for a few months. During that time, you take pride in setting up a space you can call quintessentially yours. You buy some basic furniture, kitchen essentials, a few showpieces for decor, some cosy lights.

Your house is looking great. You take a nice deep breath and settle yourself in that comfy bean bag you've placed in a warmly lit corner of your room.

Soon, your day job takes precedence. Your priorities change. Work is taking up most of your time. And entropy slowly creeps up on you. The whole thing starts with a packet of chips that made its way under the centre table.

Soon, your rug is dusty, your bedsheets have stains, you have a huge pile of laundry waiting to be washed, a faucet is leaking, a flush tank is overflowing, spiders are making cobwebs in nooks and crannies in the kitchen, and the soles of your feet get soiled black as you move around the house.

The house is too dirty now, even for a bachelor. It's system maintenance time.

You equip yourself with a broom, dustpan, and some cleaning liquids and you start cleaning the house with fervour.

It takes half a weekend. The house is now reasonably clean and you can confidently invite your friends to hang out with you on Sunday.

But entropy in systems is relentless. Every system maintenance event buys you about two weeks till the next one. It's a never-ending process. As long as the system exists, you'll have to offer your sacrifice to the system gods to keep entropy at bay.

A problem-solver at heart, you start thinking about how to do this efficiently: minimal effort that maintains a baseline level of cleanliness.

Initially, you try batching the cleaning. You think that it's easier to take a Saturday off in a month and clean the whole house at once. Less context switching, less worrying about cleaning everyday, and the whole thing gets done at once, which then leaves you the whole of next month to focus on other important things in life.

So, for the next 3-4 months, you try this approach.

But soon, you start observing a few cons with the batch method.

Firstly, by the end of week two, your house is already pretty dirty. Dirty to an extent that you cannot easily invite anyone to your place till you clean your house. But scheduled maintenance still has two weeks to go, which means you cannot invite people during these two weeks.

Secondly, you also realize that stains, when left unattended for too long, become permanent.

Thirdly, by the end of week four, your bed has enough dust for you to catch an allergy — an allergy that will further delay the house cleaning by another week.

You now think that it's time for you to try the flow approach. Where, you take out half an hour everyday and restore the system to a baseline level of cleanliness.

You do this for a month, and immediately you realize a lot of benefits.Firstly, the house now is always reasonably clean, so if anyone comes over, you'll never feel embarrassed.

Secondly, things that take time to form, like cobwebs, disappear entirely from the system. There are no permanent stains either. You make sure you wipe them off as soon as you create them.

Thirdly, even if you miss a day or two, the cost of not cleaning isn't that high. And most importantly, the system now never gets dirty enough for you to catch an allergy. As the floors are cleaned on a daily basis, you notice that you don't need to change your bedsheets that often. Your clothes remain cleaner for longer.

The entire system is now flowing and you've reached a state of dynamic equilibrium. You feel happy.

Where am I going with this?

Well, I just wanted you to get an intuitive sense for how batch and flow processes work in supply chains via a relatable example.

Now, let's talk about actual manufacturing processes.

To start off with, here’s a quote from Drew Baglino during Tesla’s Battery Day presentation:

"The key to a high-performing assembly line is accomplishing processes while in motion, continuous motion, and thinking of the line as a highway, max velocity down the highway, no start and stop, no city driving."

In the Toyota Production System, this is called “one piece flow.” It posits that the ideal process is one that moves the product along perfectly smoothly, a single unit at a time.

"One-piece flow is the quickest way for material to get from point A to point B, with the shortest lead time and least amount of work in-process in between.

True one-piece flow would have us manufacture items with essentially no waiting time, no queueing, and no batches. Sounds easy enough, yet the vast majority of manufacturing occurs in a traditional batch and queue mode, where items wait their turn in line to be processed, wait, then move on to wait in queue again. This takes time; time that has a far greater non-value added than value-added percentage.

Ideally, we would perform all operations in one-piece flow."

— From the book Becoming Lean

A flow process has very little volatility or variability. There are no large spikes in raw material inventory (too much unprocessed raw material or none of it), there are no big delays or dead time where the machinery is sitting idle, and consequently, there are no huge costs to be paid for such delays.

In a flow process, parts are processed as and when they enter the system. In contrast, in a batch process, the production line waits for an entire batch of raw material to arrive first and then the same batch goes through different stages of the manufacturing process.

To understand the differences better, let's take the example of a factory that produces nails.

For brevity, let's assume it's a single-step process. Raw iron of pre-cut size comes into the system, gets moulded into a nail, and the finished nails are pushed out for packaging and delivery.

Say the pre-cut iron pieces arrive at exactly one piece per minute and the machine takes one minute to mould each piece into a nail.

The result is a continuous flow production process: an iron piece arrives at the machine, is immediately processed, and comes out as a finished nail just as the next piece of iron arrives. We have no queueing, no waiting, no accumulated WIP. Output is 1 nail per minute, average cycle time is one minute, and WIP is the single pin in the machine.

(The house stays reasonably clean all the time.)

But what if our flow isn't smooth and there is variability in how much time it takes to produce a nail?

Now, we sometimes have pieces of iron that arrive before they’re ready to be processed, queues build up in front of the machine, which increases the cycle time. In real life, this means more cost of inventory, more times when the machine is either overloaded or sitting idle, and higher WIP on average.

(The house is either too clean on some days or too dirty on the rest.)

To consider the batch processing scenario, let's say our nails now get produced in batches of 60 and the machine will only run once there are 60 pieces of iron in queue.

This means that a customer who orders the nails when there is only a single nail in the queue will have to wait longer than a customer who orders a nail when there are already 59 nails in queue. This leads to unreliable delivery times for customers, depending on when they've placed the order. And it also leads to higher costs associated with managing unprocessed inventory.

(People can't rely on your house to be available at all times. They find you saying no 5 times out of 10, which makes you an unreliable host. Additionally, the impact of living in a dirty house shows up in worse health and higher cleaning costs when the cleaning takes place.)

So then, why does batching exist at all?

The answer simply has to do with economies of scale. If unit costs go down as a function of volume at some step of the process, there’s often an incentive to batch.

If some part of the process is just as expensive whether it’s running 1 or 1000 units, unit costs will drop substantially the larger your batch is.

If you have a large oven that consumes the same amount of energy to bake one cake versus ten cakes, you as a baker will always prefer to utilize the oven to its maximum and bake cakes in batches of ten. That way, you're distributing the cost of energy required to heat up the oven between ten cakes and not just one.

Economies of scale also show up in shipping. The size of cargo ships have kept getting bigger over the years due to the square-cube law: the cost of making a ship is a function of its surface area (which increases squarely) but its capacity is a function of its volume (which increases cubically).

Additionally, cargo ships also show geometric scaling in operating costs due to proportionally less fuel consumption as ships get larger. The result is a steady increase in shipping “batch size”: increasingly larger ships moving increasingly large numbers of containers at once.

Another case for batching is when the manufacturing process is inherently rate limited. If you can’t easily adjust the speed of a production step, and it’s slower than your desired output, you might be forced to batch.

Flow processes, in contrast, are useful for situations where the costs of process variability are huge. For example, in construction, precast concrete components are large, and can't be stored easily at the actual job site. And rented cranes are expensive and charged by the hour. So, you need to minimize idle time and keep the crane as busy as possible to get the maximum bang for your buck.

So, what you (ideally!) get is a carefully scheduled flow of pieces arriving at the site: a truck arrives, the crane immediately lifts the piece into place, the workers attach it, and they finish just as a new piece is arriving. There is no accumulated inventory on site, no wasted time with the crane, and everything moves swiftly and smoothly into place.

In conclusion,

flow processes are ideal.

(But of course, we do not live in an ideal world.)

They are a lot more efficient than batch processes, are way less variable, but on the flipside, also are much more susceptible to external environmental shocks. As there is no WIP and no accumulated inventory, in times of a global shortage of raw material, flow processes aren't left with any buffer to work with.

Batch processing is better in such cases as it offers a certain degree of useful redundancy in times of supply-chain crises. It is also a rational response to certain types of economies of scale.

In the bachelor's house example, it would mean not having to context switch into cleaning mode every single day of the week, which may also have its own psychological advantages, depending on the nature of your work.

If it's more sprint-and-rest based, i.e., works in batches, you might be forced to batch your cleaning as well.

But if it's more of a regular, routine-like schedule, you're better of making system maintenance a part of your daily routine as well.

And of course, maids do not exist in this universe.

Feeling Lucky?
Subscribe to get new posts emailed to you, daily. No spam.
Oops! Something went wrong while submitting the form.
15k+ business professionals act on our advice every day. You should too.
Subscribe to get new posts emailed to you, daily. No spam.
Oops! Something went wrong while submitting the form.
15k+ business professionals act on our advice every day. You should too.