Agile and Lean have been around for decades. Their marriage for software development has a long history as well. Yet, there is still a lot of confusion around what the difference is between them and how they work together.
I’m by no means the world’s expert on either topic, but I’m often part of a conversation with clients or PM friends where the confusion around the terms is discussed. It came up three times this week, so I figured it was time for a post about my views on what each term means.
AGILE: A development process that emphasizes short iterations and focuses on delivery of functional software.
Flavors of Agile may include continuous deployment/integration, test driven development, pairing, scrums, sprints, or many other facets that are too long to list here.
LEAN: A process framework where there is an attempt to minimize risk and waste while maximizing customer value.
It is often achieved through a tight feedback cycle with minimal investment between loops. Lean protocols have been employed to optimize manufacturing, construction, and pretty much any business process you can think of.
LEAN AGILE: The marriage of Agile development iterations with Lean validation practices.
Here’s how this works:
- Establish a hypothesis
- Figure out the smallest thing needed to test it
- Build that thing in an iterative way
- Always be working towards functional software
- Repeat for each feature, epic, and product
As mentioned earlier, I’m not an expert on this, and would love people’s feedback on how what I’ve written should be adjusted.
About the Author