Recently people ask me a lot “what’s the difference between Lean, Agile and Scrum, XP…?”.
Yes, to the one who want to learn Agile, there are too many concepts. So I am trying to make these new things clearer.
- First, let’s read something about the history of these methodologies to help us better differentiate them. From the article we know that Lean Methodology came out much earlier than Agile.
- Second, let’s find the purpose of the methodologies:
In a nutshell, Lean says to relentlessly eliminate anything that isn’t adding value and only work on what we absolutely need to be doing at this moment in time. Eliminating waste means eliminating useless meetings, tasks and documentation. But it also means eliminating time spent building what “we know” we’ll need in the future (things are constantly changing so we often end up not needing them – or if we do, we have to rework them because conditions and our understanding has changed by then). It also means eliminating inefficient ways of working – like multitasking (!) – so we can deliver fast.
Agile refers to a set of values and principles put forth in the Agile Manifesto. The Manifesto was a reaction against heavyweight methodologies that were popular, yet crippling software projects from actually doing what they needed to do – create software that helped the customer! I believe Agile’s values & principles work because of the science behind Lean and so you’ll see a lot of similar themes repeated in agile.