Agile vs. Lean: False Debate?
Ever since Mary and Tom Poppendiek wrote their book Lean Software Development: An Agile Toolkit, there has been a lot of discussion about Lean and Agile in the world of software development. Sometimes we hear about how Agile and Lean are different and sometimes we hear about how they are the same.
The conversation about how they are different includes discussions such as:
- Why Kanban is better than Scrum (or not), or
- Why Lean is better at scale than Scrum, etc.
The conversation about how they are the same includes discussions such as:
- How iterative development reduces work in process (WIP), or
- How Scrum’s dynamic product backlog and user stories facilitate just-in-time requirements.
It can tricky trying to sort out from these discussions what you should do, particularly for managers who are committed to and may be responsible for the success of their organizations.
One way to begin integrating these two conversations is to recognize that the conversation about how Agile and Lean are different is usually conducted at a different level of analysis than the conversation about they are similar. The differences are usually discussed at the level of practices, whereas similarities are discussed at a lower level, the level of principles.
Since Agile and Lean share many of the same principles, we can say they share a common philosophy regarding the management of people and investments and how best to thrive in today’s business environment.
Practices are how the principles are applied to do real work under specific conditions. One should expect that there are different practices to do similar things and, as the nature of the work changes one should also expect the nature of the practices to change but not the underlying principles
We can now relate this back to our earlier examples. Whether or not Kanban or Scrum is the better practice to apply given specific operating conditions and constraints is a worthy debate. However, one should not expect to conclude that one is “wrong” and the other “right”, since both practices share many of the same principles. Furthermore, when one explains how iterative development reduces WIP, they are describing how the principle of (Lean) waste reduction is implemented in an Agile practice.
With this in mind, we can draw a couple of conclusions:
- An understanding of common principles should guide the decision of which practices should be used and when.
- As team capabilities and the nature of work changes one should expect practices to be refined and replaced.
If you're interested in this topic,
please take a look at our new white paper:
When you're Agile, you get Lean.