
The optimum depends on your context, but flow-based systems generally perform best for knowledge work and software delivery. Here’s why:
Push Systems: Predictable but Fragile
Push systems work when demand is predictable and processes are stable. Manufacturing assembly lines are classic examples. However, in software delivery, push creates several problems:
– Work queues build up at bottlenecks
– Resources get over-allocated based on plans rather than capacity
– Teams lose autonomy as work is assigned rather than pulled
– Waste accumulates as partially completed work sits waiting
Pull Systems: Responsive but Can Starve
Pull systems like Kanban improve on push by having downstream processes request work when they have capacity. This reduces waste and improves flow, but pure pull can create issues:
– Upstream processes might starve waiting for pull signals
– Overall throughput can be limited by the most conservative puller
– Coordination complexity increases across multiple teams
Flow Systems: The Sweet Spot
Flow-based delivery optimizes for continuous movement of value through the system. Instead of pushing work or waiting for explicit pulls, flow systems focus on:
– Limiting work in progress to prevent overload
– Identifying and resolving bottlenecks systematically
– Maintaining steady cadence without overwhelming any part of the system
– Optimizing for end-to-end delivery time rather than local efficiency
The Practical Optimum
Most successful delivery organizations use flow principles with pull mechanisms:
– Teams pull work when they have capacity (pull)
– But work is sized and sequenced to maintain steady flow
– Bottlenecks are actively managed rather than allowed to create starvation
– Metrics focus on flow efficiency (cycle time, throughput) rather than utilization
This hybrid approach gives you the responsiveness of pull with the predictability of managed flow, while avoiding the rigidity of pure push systems.
The key insight: optimize for the speed of value delivery, not the efficiency of individual resources.
