We often get questions from people about how Agile, Lean, Scrum, and Kanban all relate to each other. For those who haven’t spent time reading the history of all of these it just seems like a lot of buzz words. Recently I came across this great picture which summarises the history and influences really nicely.
Here’s how I see it.
In the software space loads of people were looking to find better ways of working in the 90’s. The most well known are Extreme Programming and Scrum. In 2001, 17 guys got together to talk about what they had in common and created the Agile Manifesto. This is when the term agile software development was coined.
A little earlier, the manufacturing industry in Japan, influence heavily by Edwards Deming, started looking at different ways of working. This led to the Toyota Production System (TPS), and then to Lean Manufacturing.
Interestingly the Product development space in Japan led to a very well known paper “New New Product Development Game“. This paper is considered the starting point of Scrum, as it influenced Ken Schwaber and Jeff Sutherland heavily in their work creating Scrum.
Lean Software Development is extensively written about by the Poppendiecks, this takes the principles of Lean from the manufacturing industry and applies it to software. Learnings from this have influenced Agile Software Development as well.
Kanban also has roots in Lean, however it has also been influenced by Agile.
So what does it all mean? People often want to know do you do Agile or Lean, is Kanban Lean or Agile? From the picture above you can see the answer isn’t black and white. These ideas all emerged around the same time and there was a large cross pollination of people, which undoubtedly has led to common ideas across both.
Personally I think it is worth reading widely in both the Lean and Agile space (as well as others – inspiration can come from anywhere), and then applying whatever works for you.
Just keep to the basics of inspect and adapt:
- Change one thing at a time
- Give the change a chance (sometimes things get worse before they get better)
- Measure stuff that matters to see if the change helped or not.