Food Shopping During Covid – A Lesson in Batch Size Optimisation

I use Don Reinertsen’s ideas around batch size optimisation to help development teams shorten their lead times & increase throughput.

Sometimes the examples of transaction costs & holding costs I use are not relevant to the teams I’m working with. This has a detrimental impact on the effectiveness of my teaching!

This post is about an analogy I’ve been using recently which seems to be helping the concepts land more succinctly, so I thought I’d share it here.

Don Reinertsen's optimum batch size chart

I won’t be going into the details around batch size optimisation in this post. Don does a far better job than I ever will – check out this 30 mins video, or dive straight into this fabulous 90 mins video for his descriptions.

In a nutshell, according to Don’s viewpoint, the optimum batch size can be determined by summing up the transaction costs (cost of doing / moving the work) & the holding costs (cost of deferring decisions) & finding the batch size where the total of the costs is the lowest.

How does this relate to food shopping then?

Shopping habits

Don uses the example of shopping for eggs for his breakfast. The tradeoff is between the transaction costs of travelling to the shops every day to buy 1 egg vs the holding costs of buying 365 eggs on one trip working out how to store them all, without them going out of date.

Don’s example got me thinking of my shopping habits & I started reflecting on how they’ve changed since the Covid pandemic & subsequent lockdown swept across the country

Shopping pre-Covid

Before the lockdown, I would call into the supermarket, or mini-market as part of my commute to / from work. 

I’d pick up a few items, maybe for lunch, or that evening’s dinner & tomorrow’s breakfast.

The trip would be quick. Quick enough that I could do it without too much of an impact to my day. Maybe 10 minutes, max.

Easy, simple, low friction

Shopping during Covid

It certainly isn’t a quick trip now!

At its peak, I’ve stood in the queue for the local supermarket for 1.5 hours. 

The actual shopping itself takes longer as people attempt to keep 2 metres from each other – more queues.

To reduce risks to myself & others, I’m buying more food in one shopping trip so I don’t have to come back to the supermarket as frequently.

I’m looking at the best before & use by dates to ensure what I’m buying now will last us until next week. As you can imagine, I wasn’t alone with this thinking – how hard was it to find tinned tomatoes & pasta!?

Others are thinking like this as well, so guess what? Queues at the tills are longer as people have more to load on to the belt & then pack up on the other side.

I’m also walking to / from the supermarket as the queues for parking are longer. This means I have to be aware of how much I buy. I can only carry so much in my 2 rucksacks (front & back) & 2 bags-for-life.

Optimum shopping size?

Can you see how my food shop relates to optimum batch sizes?

Essentially, my transaction costs (or set up costs) increased greatly with Covid & the lockdown:

  • The risk of going to the supermarket increased greatly – catching (&/or potentially spreading) Covid could have an impact on my earnings (I’m self-employed)
  • Time to perform the shopping increased from <10 minutes to >120 minutes at its worst (maybe 2.5 hours door to door)
  • Applying hand sanitiser, learning how to create no-sew masks & cleaning down the shopping before bringing it into the house also increased the overall time
  • I wasn’t personally impacted by it, but price gouging had a financial impact on the cost of shopping

Because of these increased transaction costs, I couldn’t afford (the time, predominantly) to go shopping every day. I had a job & the other day-to-day tasks which needed to be completed.

Consequently, my shopping habits changed to go less frequently but buying more in each shop. 

Optimum batch size in product development

As it is with shopping during Covid, in product development, if the cost of doing & moving the work (transaction cost) is greater than the value delivered in that work, then why move it?

Consequently, we develop enough software in a release so that it has enough value to warrant deploying into production.

The flip side of this is the cost of deferring the deployment (holding cost). Have we built the right thing? What value is trapped in that large release? What’s the cost of delay in waiting for enough value to accrue before deploying? (more on this in another post).

Learn more about batch size optimisation

Obviously, check out Don Reinertsen’s book “The Principles of Product Development Flow” & the videos referenced above – here are the slides from the 30mins FlowCon 2014 talk (where I took the image from).

Troy Magennis has some awesome live code to help you understand optimum batch size as well – the instant feedback this tool provides really helps embed the message.

Have your shopping habits changed during Covid? Maybe the “new normal” will reset the optimum shopping size? What do you think?


Thanks for reading,