Overview

6 Flow in your development cycle

Flow in software development is presented as the movement of value from an idea to something users actually experience in production. The chapter argues that what matters is not how busy developers appear, but how long it takes work to travel through the whole system. Like a manufacturing value stream, software delivery contains value-adding steps, necessary checks, and pure waste such as waiting, rework, and queues. Much of the hidden delay comes from invisible inventory: open branches, pending reviews, blocked environments, and work already started but not yet delivered.

The chapter emphasizes that improving flow starts by seeing the real system and measuring it honestly. Value stream mapping reveals where work spends time transforming and where it sits idle, often showing that only a tiny fraction of the total lead time is active work. It distinguishes multiple streams, such as features, defects, and deployments, and shows that each can be slowed by different constraints. The key insight is that optimizing a single step, like coding or build speed, does little if the real bottleneck is elsewhere, such as review queues, deployment approvals, or meeting cadences.

To improve flow, the chapter recommends shrinking batch sizes, limiting work in progress, and focusing on the constraint that governs throughput. Smaller changes move faster, are easier to review, and surface defects sooner, while WIP limits force teams to finish work instead of juggling too many tasks. The same logic applies to CI/CD: automation helps only when it reduces waiting and preserves feedback speed, but becomes harmful when it adds validation delays or queue depth. Overall, the chapter frames flow as a system property that improves through deliberate, measured changes aimed at removing delay, exposing bottlenecks, and redesigning the path from idea to user value.

A typical manufacturing value stream from raw material to customers' hands.
A typical software value stream from an idea to a feature in production, delivering user value.
A full value stream exposing the length of time a typical small fix takes to flow through the system.
A clean, formal view of a typical value stream from request to production.
A realistic view of a typical value stream from request to production.
A feature value stream that shows typical delays that contribute to a low activity ratio.
A defect value stream that shows typical phases that a bug fix flows through.
A deployment value stream that shows the role governance can play in a typical production push.
The true value stream extends beyond just what engineering delivers.
Batch size comparison for impact on the value stream and feedback flow.
Causes of inflated WIP without any malice involved, just a desire to stay active and busy.
A simple flow-based decision-making method for WIP management for a team.
A growing bottleneck week by week as reviews become the constraint in the system.
The simplified ToC model to focus on the low capacity constraint.
Current value stream of a simple work breakdown and acceptance cadence.
Future value stream designed to elevate the constraint

Summary

  • Flow is the movement of value from idea to user, not the speed of coding.
  • Activity ratio reveals where you spend more time waiting than adding real value.
  • Large batches amplify delay, risk, and rework. Small batches protect feedback and reduce the blast radius.
  • High WIP hides constraints; low WIP exposes them.
  • The bottleneck governs throughput, regardless of effort elsewhere.
  • Improving non-constraints increases inventory, not flow.
  • Future value streams must be designed deliberately, not assumed.
  • CI/CD protects flow when it reduces waiting; it disrupts flow when it becomes the constraint.
  • Release is part of the value stream; batching at the end reintroduces delay.
  • Flow improves through targeted Kaizen, not sweeping reform.

FAQ

What is a development value stream in software?A development value stream is the complete path an idea takes from request to working behavior in production. It includes every step in between, such as coding, review, testing, deployment, waiting, and rework.
How is flow different from velocity?Velocity measures how much work a team completes in an iteration, usually in story points. Flow measures how long a unit of value takes to reach the customer. Flow is an outcome metric focused on time, not internal team capacity.
Why is work in progress considered inventory?Work in progress is inventory because it represents effort that has been started but has not yet delivered value. Like inventory in manufacturing, it is sitting between steps, aging, and not yet earning a return.
What kinds of waste can appear in a software value stream?Common wastes include waiting, excess handoffs, overproduction of work, defects, rework, and unnecessary motion such as context switching. These wastes slow flow and increase lead time.
Why do small batch sizes improve flow?Smaller batches are easier to review, understand, and revert. They surface defects sooner, reduce merge conflicts, and move through constraints faster, which shortens cycle time and lead time.
What happens when a team limits WIP?Limiting WIP forces work to complete before new work starts. It reduces context switching, exposes blockers, prevents queue explosion, and helps the team focus on finishing and shipping value.
How do you identify a bottleneck in the value stream?A bottleneck is the slowest necessary stage relative to demand. Signs include growing queues, longer wait times, aging items, and low activity ratio. It is the stage where work consistently piles up.
Why is code review often a bottleneck?Code review often becomes a bottleneck because review capacity is limited and PRs accumulate faster than they are reviewed. When this happens, waiting grows, lead time increases, and upstream work piles up.
How can CI/CD either improve or harm flow?CI/CD improves flow when it reduces waiting, shortens feedback loops, and supports small batches. It harms flow when pipelines become too slow, too sequential, or too overloaded with validation steps that create queues.
What is the purpose of a future state value stream map?A future state value stream map is a planned redesign of how work should flow after improvement. It identifies the current constraint, the desired change, and the new standard work needed to reduce delay and improve flow.

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Build High Value Software Systems ebook for free
choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • renews monthly, pause or cancel renewal anytime
  • renews annually, pause or cancel renewal anytime
  • Build High Value Software Systems ebook for free