David Anderson at Agile Management has two new blog posts that got me thinking. The first is How to Start with Kanban which lays out how to implement Kanban for software development in 10 easy steps (I like its simplicity.) The second is Blogosphere Buzz about Lean & Kanban which is a comprehensive review of blog articles coming out of the Florida Lean & Kanban conference. All this Lean Kanban talk got me thinking about what really is the difference between all these terms. My conclusion in summary is: Lean and Agile are concepts that allow for more flexible, lower cost development or production – Kanban and Scrum are two approaches for implementing these concepts for software development.
My Laws of Development try to show how Lean (and Six Sigma) are the foundation for Agile and are adopted from the first book I studied on lean and applied in my early consulting days, Factory Physics, Foundations of Manufacturing. When first introduced to Lean as a software development concept more broad than Scrum through Mary and Tom Poppendieck’s book and an Allan Shalloway conference, my reaction was something like: yes, but both use the same concepts at different organizational levels. The fact that lean concepts extend into the scrum cycle by ensuring that there is a limited amount of focused work at the development team level is often overlooked. My reaction to Kanban has been similar over the past couple years as it has gained popularity. While Scrum and XP use story points or ideal man days to limit WIP, Kanban borrows a more direct tool from lean manufacturing to accomplish the same objective through the Kanban (simply meaning ‘card’ in Japanese) itself.
Agile and Scrum, while while they can be more broadly applied, have grown primarily as a result of lean (originally manufacturing) concepts being used to improve software development. Kanban will always be more broad than software development; though, there appears to be movement to capture the term specifically for software development.
I guess, I still go back to the founding principles of lean. If we understand the principles, it allows for adoption to specific needs across a wide spectrum of verticals and organizational levels without taking sides on the latest terms and tools to emerge from applying them.