What Continuous Flow Is
Continuous flow is a scheduling technique used in agile software development. The team decomposes features into user stories, prioritizes them into a rough list, and then works through the list by pulling the next story only after completing the current one.
A work-in-progress (WIP) limit is central to this approach: the team sets a cap on how many stories they may work on simultaneously. Once that limit is hit, no new story can be started until one in progress is finished. WIP limits prevent the accumulation of “nearly done” work and keep the team focused on delivering complete stories rather than starting new ones.
When Continuous Flow Fits
Continuous flow is particularly well suited to an unpredictable stream of incoming work, such as bug fixes and maintenance tasks. In these contexts, the team must be sized to handle surges promptly, which means quieter periods should leave the team with slack to improve its working environment. A continuous flow team that is perpetually busy is often a warning sign of an underlying problem.
As an alternative to timeboxed iterations, continuous flow avoids the overhead of allocating stories to iterations, estimating them, and calculating iteration capacity. However, this streamlining comes with a tradeoff: the regular cadence of iterations provides a natural feedback loop that exposes issues like accumulating code cruft or stories that take far longer than anticipated. For this reason, continuous flow tends to work well for experienced teams aiming to reduce ceremony, while less experienced teams benefit more from the structure of iterations.
Unpredictable Arrival vs. Unpredictable Nature
A useful distinction, noted by colleague Kennedy Collins, is that continuous flow handles unpredictable arrival of work well, but is less effective when the nature of the work itself is unpredictable or poorly understood. In the latter case, the lack of iteration review cycles can leave the team without early warnings about problem areas.



