Lean and Agile: The Connections Few Understand
The 2001 Agile Manifesto has deep roots in Toyota’s 1950s Lean Manufacturing. Understanding this connection reveals valuable insights about agile practices.
The 7 Lean Principles Applied to Software
1. Eliminate Waste
Lean: Remove steps that don’t add value in the production line. Software: Fewer meetings, less unnecessary documentation, fewer features nobody uses.
Excessive planning = waste. Just-enough planning = value.
2. Build Quality In
Lean: Don’t pass defects to the next step. Software: Don’t pass bugs to QA. Test before shipping. TDD, CI/CD.
3. Create Knowledge
Lean: Invest in continuous learning. Software: Retrospectives, technical spikes, experimentation.
4. Defer Commitment
Lean: Decide as late as possible, when you have more information. Software: Emergent architecture, simple design, don’t over-engineer in Sprint 1.
5. Deliver Fast
Lean: Short lead time from production to customer. Software: Short sprints, frequent deployments, MVP.
6. Respect People
Lean: Workers know the process better than managers. Software: Self-organizing teams, team estimates, Planning Poker.
7. Optimize the Whole
Lean: Improve the entire production line, not one station. Software: Optimize the end-to-end flow, not just development.
WIP Limits: Lean + Kanban + Agile
The concept of limiting work in progress comes directly from Lean:
Lean: Kanban system with physical cards in the Toyota factory. Kanban software: Limit of 3 items per column on the board. Result: Less context switching, more throughput.
Impact on Estimates
Lean Estimation
- Less is more — estimate only what’s necessary to decide
- Data > opinion — use historical throughput
- Eliminate waste in estimating — don’t estimate items that may not be done
- Late decision — estimate in detail only when ready to execute
Muda (Waste) in Estimation Sessions
| Muda | Example | Solution |
|---|---|---|
| Overproduction | Estimating 50 items when only 10 will be done | Just-in-time estimation |
| Waiting | Item waiting for PO clarification | Definition of Ready |
| Transport | Estimating with a complex tool | Simple, fast tools |
| Extra processing | 30-minute discussions per item | 10-minute timebox |
| Inventory | Backlog with 200 unestimated items | Continuous refinement |
| Motion | Session with 15 people when 5 would suffice | Subgroups by domain |
| Defects | Estimates without context | Refinement before estimation |
Conclusion
Agile is Lean applied to software. The principles of eliminating waste, building in quality, and respecting people are the same Toyota’s used for 70 years. When your agile process feels too bureaucratic, ask yourself: “Is this lean or is it waste?”