In an agile context, the practice of lean consists of employing three high-level principles: using visual management tools, identifying customer-defined value and building in learning and continuous improvement. Lean has some similarities to other agile methods but does not include time-boxed work.
Seven (7) Core Concepts
The practice of lean focuses on these core concepts:
- Eliminate Waste – This refers to waste in knowledge work, which largely consists of partially done work, extra processes, extra features, task switching, waiting, motion and defects.
- Empower the Team – The idea is that the team possesses the superior knowledge of the technical detail and thus should be trusted and empowered to make “localized" decisions.
- Deliver Fast – This refers to iterating often to bring to the surface the best ideas and options as well as deliverables.
- Optimize the whole – Think in terms of the whole rather than the sum of the parts.
- Build quality in – Avoid “testing in" quality at the end of cycles, but rather focus on building quality into the product at every phase of the development cycle.
- Defer decisions – While this may be counterintuitive, if you can defer decisions until the last possible moment, you can gain more clarify on requirements, employ more mature technology, and other relevant time-based benefits.
- Amplify learning – This is all about doing and communicating – often. Execute, re-think, LEARN, re-group…then do it all again, but with increased knowledge.
Seven (7) Wastes of Lean
Since eliminating waste is such a critical aspect of the Lean Product Development method, it merits more in depth consideration. Here some examples of the wastes mentioned above:
- Partially Done Work – Code waiting to be tested; waiting for requirements clarification; requirements done and waiting for development; meetings outside the immediate team
- Extra Processes – Reviews, approvals and documentation that do not enhance the value of the end product
- Extra features – Last minute requirements that “must" be included; failing to specify what is excluded in the scope; performing work outside the specified requirements
- Task switching – developers shared among multiple scrum teams; not focusing on one task until complete
- Waiting – Adding unnecessary “gates" before development begins or continues
- Motion – Extra work required to satisfy marginal stakeholders; efforts required to manage teams that are not collocated
- Defects – Defects in requirements as well as software
The lean product development method has a great deal to offer in terms of best practices. All of the core concepts fit well as part of any agile method being used, so lean can easily be practiced in conjunction with any other agile methodology.
A Look at Agile Methods
A series on the most popular agile project management methods, including Scrum, Extreme Programming (XP), Lean Product Development and Kanban.
- Agile Method #1: Scrum
- Agile Method #2: Extreme Programming (XP)
- Agile Method #3: Lean Product Development
- Agile Method #4: Kanban