Back in 2007, Jean and I developed an evolutionary model of Agile adoption for teams and organizations seeking the benefits of “scaling software agility.” We presented talks on this at the Agile 2007 and Agile 2008 conferences. We call it Flow-Pull-Innovate based on the Toyota Lean principles of Flow-Pull-Perfect.
Productivity gains in Agile development teams come conceptually from eliminating waste. Just getting to the first step of Agile maturity can lead to 10 to 20% productivity increases. We want you to be successful taking the first step, and there is a ton of opportunity in most software development shops. According to Tom and Mary Poppendieck, most software development organizations are only spending 6% of their time doing value-added tasks. The other time is wasted in these categories:
- Partially done work (coding features that get removed from release)
- Extra processes (elaborating requirements that do not get built)
- Extra features (features that are rarely used - more on this in another post)
- Task switching (across multiple projects - losing flow)
- Waiting (requirements, designs, feedback, builds, other teams, larger organization, customer)
- Motion (walking over to interrupt folks for a build or status)
- Defect (internal or external)
Agile works to systematically address these wastes as you mature. In our white paper on moving to Program Pull, Jean and I characterize the steps, roadblocks and benefits found at each step in the Flow-Pull-Innovate maturation process.