Skip to content
Sponsor: NimblePros → Software architecture, modernization, and training for high-performing development teams. Work with us.
Amplify Learning: A Lean Software Development Principle

Amplify Learning: A Lean Software Development Principle

Amplify Learning

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.

References