Disciplined Agile

Simplicity Factor: Batch Size

Why Look at This

Often reducing batch size is all it takes to bring a system back into control – Dr. Eli Goldratt

One of the mantras of flow and lean is to work on small batches. Attending to batch size is important for several reasons. The most common one is that small batches can be done quickly, are easier to manage and can be delivered to customers quickly. But small batches also force product managers to focus on what’s most important. This is essential when trying to sequence work. When there are conflicts as to how to allocate capacity to different work items, using large work items complicates this because not all of one work item is more important than all of another work item. When a new product is being created, MVPs are quite useful and start us with small pieces. But we often have large initiatives that relate to existing products or services. In this case, we have to break these initiatives into smaller pieces which we call minimum business increments.

Batch size involves both the size of items being worked on and also the total amount of work in process (WIP). When batch sizes are too large:

  • It causes people to be less effective
  • It causes delays in the workflow and in getting feedback which creates waste
  • It delays the realization of value
  • It makes it difficult to collaborate

Here are some general rules for batch size:

  • Items being worked on by an individual (such as a story): less than three days
  • Work in process for a team (such as the team backlog): less than two weeks
  • Work in process for an organization: one to three months 

 

Symptoms That Your Batches Are Too Large

  • People working on too many projects
  • Work taking much longer than it should
  • Projects being worked on by many people part time

 

What Causes Problems with Batch Size 

Common causes are:

  • Not using minimum business increments
  • Not developing in small increments
  • Not managing dependencies between teams making it difficult to decompose what needs to be built

 

What We Want to Achieve

As much as possible, we want to try to work with small batches across the value stream. At the intake part of the value stream we should be using MVPs and MBIs. At the program level, we should be having small components that can be built and validated. At the team level we should have as little work in process as possible while keeping people productive.

 

Common Solutions

  • Use MBIs or MVPs to ensure smaller batches are coming in 
  • Decouple teams so the total work in process can be lowered
  • Have cross-functional and dedicated product teams so fewer items so batches coming in can be completed quickly
  • Create visibility on all work in the system
  • Right-size the work waiting to be started using MVPs, MBIs appropriately
  • Sequence work to be pulled
  • Create a focus on finishing (see Manage Work-in-Process (WIP) by Focusing on Finishing for more)

 

Additional Factors that Influence Batch Size