· ·

Get More Batches Done Faster

In Achieve Agility with the Right Batch, we explored how and why to define a batch which delivers value.  Now we’ll look at how to make your system deliver more…

In Achieve Agility with the Right Batch, we explored how and why to define a batch which delivers value.  Now we’ll look at how to make your system deliver more batches faster.

Steps to Improve Your Development System

We start by envisioning the development process as a system or machine turning ideas into saleable stuff.   Our work is divided into batches, which are carefully defined so each one will deliver value.  During development, each batch moves through a series of activities from start to finish.   The system can be optimized by applying the tools of queueing theory to this batch-and-activity model.

First, we need to be able to see what is going on.  We will:

Once you can see what is happening, you can improve the progress of batches through your system  by applying some standard tools derived from queuing theory:

Different Solutions for Different Systems

A given tool, when applied to different systems, may recommend different methods.  This sometimes makes people think that the methods have nothing in common, when in fact they are based on the same queuing theory tools applied to different types of work.

For instance, agile software development prioritizes its batches by putting them all in a backlog, and periodically choosing which ones to work on next.  This is very flexible and responsive way to handle jobs – but it assumes that the batches can be done in any order, delivered at any time, and don’t have long lead times.

Rapid Learning Cycles prioritizes its batches at the beginning of the project, and lays them out in a time-based visual planning board.   That’s because many of the batches are order-dependent, have early deadlines, or have long lead times.   A backlog doesn’t have any tools to deal with the interdependencies, so a time-based plan is necessary.   But at the same time, Rapid Learning Cycles framework achieves the flexibility to respond to newly gained knowledge by using a light-weight to capture the plan, and then reviewing and adjusting the plan every few weeks.

Both Scrum and Rapid Learning Cycles do a minimum of up-front planning by capturing only short descriptions of their epics/user stories on the one hand, and Knowledge Gaps on the other hand.  They both expect the plan to change, and provide for that change in planned meetings on a cadence.  However, they use different prioritization methods because their batches have different properties.

More examples of when to use different prioritization methods: State-Driven and Date-Driven Planning Boards.