Lean vs Agile
When teaching our Lean Professional class, I am often asked, “How is Lean different from Agile?” Lean and Agile are both operational excellence methodologies, and they both have the common goal of efficiently delivering the client’s most important requirements, when it is needed, with no additional cost or time. Both methodologies focus on eliminating and minimizing non-value-add activities and optimizing value-add activities.
These operational excellence methodologies use many of the same tools. For example, process mapping tools to define the as-is process and to design the to-be process. Where these two methodologies differ is in their approach in achieving the desired improvements and how they manage change. A good question to start with when deciding Lean vs Agile for your project is, “Are we starting with a problem with a known solution?”
The Solution is Not Known – Applying Lean
If the solution is not known and the source(s) of the problem is not clear, Lean can help us diagnose the problem and lead us to the best solution(s). Lean is also well-suited for situations where change is uncommon and process improvement will be large in scale, requiring clearly defined requirements upfront.
Lean is a linear approach to process improvement that does not begin with a solution in mind, it follows a distinct phased approach that focuses on understanding the as-is process first and diagnosing the problems before selecting optimal improvements. Each phase generally finishes before the next one can begin. There is also typically a milestone or a tollgate between each phase to ensure alignment and support from the leadership related to the project (project sponsors). Lean allows for quick wins throughout the project’s phases and leads up to a Kaizen Event in which the larger-scale solutions are selected and implemented by the team.
The Solution is Known – Applying Agile
If the solution is known, Agile can work well. Agile was originally used in software development. The software solution was identified and then rolled out using Agile/SCRUM to incrementally deliver the software solution. It has since been expanded as a methodology for other process improvement/project management projects. Agile can be very useful when change is common and the solution can be rolled out incrementally.
Agile establishes the associated fixed costs (resources) and predictable timelines (iterations) for delivering the solution upfront. The solution is delivered in incremental sprints and includes a review or feedback loop with the customer at the end of each sprint. This enables the rollout to be flexible and can allow the solution to evolve into a significantly different product or service than was originally envisioned. In fact, Agile is built with the expectation that scope will evolve over time and will be adjusted to focus on the customer’s highest priorities.