Flow vs. Predictability
"How can you possibly de-emphasize predictability?", I’m sometimes asked, in response to the following sentence in my experience report on teams operating in product-mode.
“Product-mode teams often run in pull-based development mode with a focus on achieving flow and less emphasis on achieving predictability using story level estimation and release plans.”
Product-Mode de-emphasizes predictability in favor of something more important: speed-to-market.
To improve speed-to-market, we try to improve metrics like “Change Lead Time” (CLT). To reduce CLT, we need to improve velocity of flow, which is not the same as improving predictability (consistency of flow).
Pull-based delivery is one of the ways of improving flow. In pull-based delivery, the team pulls the next item to work on when they are done with the current item, not when the schedule dictates.
This is at odds with deadline-driven delivery where the schedule is supreme. If you are not on schedule, you are not predictable.
As the illustration shows, flow velocity is independent of consistency. High-volume airports exhibit high flow and predictability when the environment is stable. When there are environmental disruptions (weather, sudden travel restrictions, technical faults, etc.), airlines and airports try to maintain flow at the expense of predictability (delayed flights).
Predictability demands steady flow. The only way to have steady flow in a variable environment (e.g., variable team capacity, systems integration surprises, testing infrastructure downtime, etc.) is to always maintain steady, minimal flow i.e., minimal speed-to-market. Is that what you want?