Introducing the Rock Crusher: A Flow-Based Model of Backlog Management
Disclaimer: The views and opinions expressed in this article are those of the author and may not reflect the perspectives of IIBA.
The Rock Crusher offers an agile approach to backlog management, highlighting the power and simplicity of this essential tool in modern agile organizations.
“The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements... No other part of the work so cripples the resulting system if done wrong.”1
—Frederick P. Brooks, “No Silver Bullet: Essence and Accidents of Software Engineering”
The Rock Crusher: Making “The Hardest Single Part” Visible
The backlog is a robust tool for managing a team's work. It empowers teams to prioritize, visualize, and consistently deliver valuable work effectively. However, the conventional model of backlog management often conceals the "hardest single part of building a software system... determining precisely what to build." The backlog is frequently portrayed as a stack of plates and as a reservoir of requirements owned by a near omniscient and omnipotent product owner. This model inadvertently hinders the flow and creates a disconnect between teams and customers. Consequently, this model introduces inefficiencies and diminishes agility.
So how should we redraw the backlog to make the single hardest part visible and enable flow? First, we need to remove the “bottom” of the backlog. After all, you can’t have flow through a closed pipe. We also turn our representation of the backlog upside down such that the highest priority work items flow out through the bottom. Then we broaden the top of that pipe, creating a funnel and making it explicit that more ideas can enter the backlog than a team can deliver. We add a drain or Waste Gate to resolve the overflow resulting from more ideas entering the funnel than the team can pull. The result is the Rock Crusher, a model for flow-based backlog management.