Improving Flow

Learn how to improve product development flow.

The six keys to improving flow

To manage queues, we can use six levers to reduce their impact and improve the flow of value to the customer.

The six keys to improving product development flow are:

  1. Utilization
  2. Variability
  3. Batch size
  4. WIP constraints
  5. Pull
  6. Cadence

Let’s see how these six concepts can be used to improve our software development practice.

Utilization

Utilization is the percentage of time that a resource is working with respect to the total time available.

When utilization is high, queues form very quickly. That is the key concept you must remember here.

The problem is that even nowadays, most companies organize their processes for maximum utilization, ignoring this fundamental principle of queueing theory. Organizations focus on resource efficiency as opposed to flowing efficiency, which is what we want in Lean.

Utilization

To use an analogy, think about what happens in highways when traffic increases or in sports events when thousands of people use data services concurrently on their phones: flow decreases exponentially to the point of complete halt in some cases.

So, in product development organizations, we should design processes where maximizing resource utilization is not the goal but a consequence of optimizing for flow.

Variability

Variability represents changes in the steady and homogeneous arrival of work into a process.

There are many sources of variability in a complex system. Some are predictable, like Christmas or Black Friday campaigns, but others are unpredictable, like storms. Variability is not always bad; it is actually required for product development and software development because learning and innovation are variable in essence.

If we try to minimize variability ...

Variability