Exploring the Dynamics of Flow

· May 28, 2018

Lately, I’ve been deeply immersed in discussions about flow, and I’m continually struck by the myriad benefits that stem from prioritizing better, faster, and smoother flow.

In this post, I’d like to share some recent reflections that have been occupying my thoughts.

What Drives Flow?

Donkey carrying a cart in the air

The image above is a personal favorite of mine, so much so that I’ve devoted an entire two-hour lecture on lean using it as the sole visual aid.

I won’t delve into all the intricacies observable in this picture, but take a moment to consider the value being delivered. Despite the frantic activity of the poor animal, none of the bags on the trolley reach their intended destination.

At this juncture, I often pose a simple question:

What’s the simplest and most cost-effective solution to this problem?

Surprisingly, people often suggest acquiring another donkey. While easy, this approach is inhumane and costly.

The answer I seek is straightforward:

Remove some bags.

However, this begs the follow-up question:

Which bags?

This question opens up a realm of possibilities. We want to prioritize removing bags that don’t swiftly deliver value, allowing us to prioritize quicker deliveries. The key lies in optimizing the flow of business value, not resource utilization.

What catalyzes this shift? It’s evident when examining the picture:

There’s a maximum or optimal capacity for the trolley.

By imposing a work-in-process limit, we instigate a cascade of inquiries focused on enhancing the flow of value.

The Virtue of Completion

In “Kanban In Action,” we champion one of my favorite mantras:

Stop starting, start finishing.

This maxim underscores the importance of dedicating efforts to completing tasks rather than initiating new ones. When you complete a task, you should:

  1. Identify tasks ripe for completion.
  2. Assist others in completing their tasks.
  3. Resolve blocked items.
  4. Invest in activities that enhance future flow.

This concept is succinctly encapsulated by David Joyce:

The more we finish...

This principle emphasizes that our ultimate goal is delivering working software, as per the Agile manifesto:

Working software is the primary measure of progress.

Focusing on flow naturally directs our attention towards task completion.

Systemic Improvements and Mindset

If you encounter statements like “User Acceptance Testing is slow because they are slow,” it should set off alarm bells. Such remarks indicate a lack of systemic thinking and a penchant for local optimizations.

For instance:

  • If UAT is sluggish and items frequently get stuck there, a flow perspective prompts actions like:
    • Collaborating with the UAT team to expedite ticket flow.
    • Investigating root causes of UAT delays, perhaps due to inadequate deployment practices.
    • Proposing changes to streamline UAT processes, such as pre-running anticipated reports.

Another instance pertains to strategically selecting tasks. Don’t pull tasks that you know will impede flow; focus on items that will flow smoothly.

Finally, consider a non-IT example: a bank visit. While waiting in line, a bank employee preemptively performs a credit check, expediting the process once it’s your turn.


Shifting our focus to improve the flow of business value yields numerous benefits. These insights, gleaned over recent weeks, merely scratch the surface of the transformative power of flow-centric thinking.

Twitter, Facebook