Amplify Learning: A Lean Software Development Principle

Amplify Learning is one of the seven principles of Lean Software Development. (In later work, the Poppendiecks called it Create Knowledge.) It recognizes that software development is not a repeatable manufacturing process. Every project builds something that hasn’t been built before, so development is fundamentally an exercise in discovery. The faster a team can learn, the better its results will be.
Development Is Discovery
Manufacturing aims to produce the same thing repeatedly with as little variation as possible. Software development is more like creating a recipe than following one. Requirements are discovered as users see working software; technical approaches are validated (or invalidated) by trying them. Processes that assume everything can be known up front, such as Big Design Up Front, tend to lock in decisions before the information needed to make them well is available.
Shorten the Feedback Loops
Learning comes from feedback, and the speed of learning is limited by the length of the feedback loop. Lean teams work to shorten every loop they can:
| Loop | Practice | Typical Feedback Time |
|---|---|---|
| Does this code do what I intended? | Test-Driven Development | Seconds |
| Does my change work with everyone else’s? | Continuous Integration | Minutes |
| Is this the right approach? | Pair Programming, code review | Minutes to hours |
| Does this feature meet the need? | Short iterations, demos, vertical slices | Days to weeks |
| Does this product create value? | Frequent releases, experiments, usage metrics | Weeks |
Ways to Amplify Learning
- Iterate: deliver small increments of working software and gather feedback on each.
- Experiment: when facing uncertainty, build spikes or prototypes and try several options rather than debating them.
- Synchronize often: integrate work frequently so the team learns about conflicts early.
- Capture knowledge: record decisions and the reasons behind them so that the team doesn’t have to relearn them. Relearning is one of the seven wastes (see Eliminate Waste).
- Reflect: hold regular retrospectives and act on what they reveal.
Related Lean Principles
- Delay Commitment - waiting to decide gives the team time to learn what the right decision is.
- Deliver Fast - short delivery cycles produce more frequent feedback.
- Build in Quality - automated tests are a fast, continuous source of learning.