Lean, Kanban, Agile, Scrum and Kaizen: You have heard them all before, you kinda know their core concepts but still wondering about what each of these concepts exactly do. What is Lean? How does Lean differentiate from Agile? What’s the difference between Agile and Scrum? Is Product Manager same as the Product Owner? What does Kanban have to do with Kaizen? Last but not least where do all these terms and concepts come from?
I confess these concepts confuse me as well and I don’t know the answer to all of them (although I’m sure they all have been answered) but as I did some reading and now I can address the last two questions.
The short answer is: Toyota! yes the big, giant Japanese car manufacturer. But how did automotive industry and in particular Toyota impacted Software Development Life Cycle so much?
According to wikipedia, The Toyota Way is a set of principles categorized as: (1) long-term philosophy, (2) the right process will produce the right results, (3) add value to the organization by developing your people, and (4) continuously solving root problems drives organizational learning. Most people associate the Toyota Way or Toyota Product System (TPS) as a way to eliminate waste however continuous improvement (Kaizen) is another important goal. TPS has helped Toyota become the most valued car for drivers all around the world and a leader in automotive and manufacturing industry.
Toyota success in reducing wastes (time, money, labour), getting faster results and continued improvement made it an attractive option to implement TPS techniques into Software Development Life Cycle (SDLC). The result is Lean Software Development, Kanban and Kaizen. Let’s go through them each.
Lean Software Development
Lean methodology preaches many of same principles of TPS also known as Lean Manufacturing (confusing? I know!). Here are the 7 main principles: 1. Eliminate waste 2. Amplify learning 3. Decide as late as possible 4. Deliver as fast as possible 5. Empower the team 6. Build quality in 7. See the whole. For Software development these principles have translated into the following loop:
The whole idea is to validate hypothesis (ideas, products) as quickly as possible, and increase our understanding of what works and what doesn’t (product-market fit) before spending time, money and engineering resources to build some thing full fledge that no body wants to buys (high risk) . The MVP or Minimum Viable Product means putting minimum investment of time and effort to learn some and Viable means that the product is providing enough experience that shows value to your customer. The goal of an MVP is to maximize learning while minimizing risk and investment. The aim should be to validate the hypotheses and assumptions
No team can get this right just by going through this once therefore we have the concepts of Kaizen (or Continuous Improvement). It’s a process to teaches people how to perform experiments on their work using the scientific method and how to learn to spot and eliminate waste in business processes.
There is a lot of shared belief between Agile and Lean but what about their differences? I took to Quora to find the answer and I found the answer given by Nick Coronges very sensible:
“Lean is a predecessor of Agile, with some of the core concepts of Lean being incorporated into Agile. But one of the tenets of Lean that Agile elaborates on in a significant way is to focus on the delivery in the service of known needs in the present rather than needs forecast in the future…. In Lean, the idea is encapsulated in “Pull” processing you build what the system tells you in needs right now. In Agile you build software in short iterations, each delivering some immediate business value. After each iteration, you take new bearings, plan your next “sprint” and charge forward. Both of them see elaborate design and planning activities in advance as wasteful and misleading”
Although I have worked with Agile team in the past I’m still learning. I have so far read Cindy Alvarez excellent book on Lean Customer Development (more on that later) and now I’m about to start Ash Muraya Running Lean.