Batch and Flow
There are two very basic ways of how to perform work: You can either work on each item as it comes in (a flow approach), or you can wait until a number of items have accumulated, and then start working on all of them (batching).
And while batching generally has a bad rep (not flowy enough, not lean enough, not just-in-time enough), I’d like to jump to its defences and claim that it is a strategy equal to flow, when used correctly.
When should you employ a batching strategy, and when one based on flow?
Severity of Context Switch
If the context switch is significant, batch.
There’s significant and real mental load for context switches, and the bigger the switch, the higher the cost we pay. If a task takes just twenty minutes to complete, but you need one hour to get into it, and then another one to get out of it again, the real effort was not twenty minutes, but 140 minutes.
We have a nice little stove in our apartment that we use on cold evenings to get the room warm and cosy. According to lean thinking, I should just restock our firewood whenever I’m about to use some to heat the room.
But is this really a practical approach? Context switching would be severe - I would switch from mental work to physical labour, would need to prepare our car for the transport, go to some place where they sell firewood, and tons of other things I would need to perform each time I want to make a little fire.
Surely this is not the best approach to the problem. Given the amount of disruption this task creates in my regular schedule, I’d rather do it as seldom as possible, clearly pointing to a batching strategy.
Capacity of Flow System
The capacity of your flow system is limited. Once it is full, and you add more things to it, stuff invariably gets dropped. There’s no way around it, it’s the laws of physics.
So, if that is about to happen, shift attention and focus. Use batching to guide your energies.
I am not great at thinking about making meals. As a result, I tend to eat whatever is there for lunch, and cook pasta four days a week as dinner. That’s because my flow system hits its limit, and there is no more capacity for food-related thinking.
My solution is to prepare all meals for the upcoming week on the weekend. It takes a couple of hours, but then it’s done, and I have something healthy to eat on each day of the week.
Is the meal selection repetitive? Of course. Would the food taste better when freshly prepared? You bet. Is making all this food in one go exhausting? Sure.
But it works. Batching the work of cooking into one big block makes sure that I can sail the rest of the week on autopilot. My flow system doesn’t get overloaded, mental friction is reduced, and everyone’s happy.
Opportunity Costs
Coming back to the example of firewood: Buying acyclically can save you some real money. Ideally, you buy wood in spring, not in autumn. Loggers still need to sell to keep their inventory at bay and their cash flow steady, but not many people are buying. Therefore, prices are low. If you buy wood when you actually need it, you buy when everyone else is buying, paying a hefty premium for it.
Batching can sometimes be the better strategy because it’s cheaper than an on-demand system based on flow.
Requirements on Delivery
That’s the check into the other direction: If batching seems convenient, or even necessary, is there anything that points to the need for a flow system?
If you’re supposed to deliver often and/or incrementally, batching is probably not a good idea. Many times, the reason for frequent delivery is the need for short feedback cycles.
It would not be a great idea to prepare my daughters lunch package for the week in advance. She’s predisposed to give regular (daily) feedback on the taste of the prepared food, and I am well advised to listen to her feedback.
Unused Stock
Another reason to avoid batching is when having lots of unused inventory creates a burden on you.
Going back to the firewood example: Stocking a full season worth of wood takes up a significant amount of our (limited) cellar space. Lean theory considers this waste: Unused inventory is always a bad idea, not the least because it binds capital (you already paid for that wood that is now sitting in your cellar, doing nothing).
If the accumulation of capital in our cellar, or the reduced available space there would put a disproportional burden on our system (for example, losing the ability to store other things), then batching would be a bad idea, and using a flow-based approach will be better.
Going Stale
Unused stock is closely related with relevance. Firewood doesn’t lose it’s relevance, but knowledge work often does; It can go stale (just like food, a property that puts a natural limit to my food prep efforts).
If the work you are performing is in danger of losing relevance over the time, you are much better off performing the work as late as possible.
You wouldn’t sit down at the start of the year and plan out the next 365 days in one sitting, pat your hands and think “Well, I’m done planning for the year!”. It just doesn’t work like that.
As you can see from the food prep example, the decision batching vs. flow often is not a black-and-white decision. When batching makes sense because of the capacity of the flow system, the danger of staleness of food puts a limit to this strategy - the batch size must not extend beyond a certain number of meals, or you risk that the food will go bad and your work will be wasted.