

Class Registration
Alan Shalloway has posted an interesting blog about how Scrum is evolving in its understanding of itself much the same way Extreme Programming (XP) did in the early part of 2000. As someone who was very much into XP at that time, I agree that XP was first defined as the original twelve practices that you always had to follow and then morphed into XP is what you do after doing all the practices – not a very useful definition for people not familiar with the process steps.
However, the more I think about Agile and Lean, the more I become convinced that its ALL Lean and we do not need to rebrand what we do as “Lean-Agile”. As I alluded to earlier, I believe that Agile is an instance of parallel evolution of Lean in the software industry. Either by accident or deliberate thought, the Agile thoughtleaders of the late 1990’s came up with a manifesto for software development that is essentially Lean. Only later when the Poppendiecks showed up (not sure when) is when many more people began to make the connections to Lean.
So what is Agile? How is it related to Lean? Lean is a set of values and principles that are portable across industries. Unfortunately, many of the Lean practices were developed for manufacturing and if we have learned anything from Scrum it is this: software development is NOT a manufacturing activity, but new product development. As a result, many of the original Lean practices are not applicable. Normally, we would be out of luck as practitioners went through trial-and-error to learn what Lean tools worked in software, but we got lucky. We had an independent instance of Lean appear in our industry about 10-15 years ago and we have gone through a lot of trial-and-error to understand what works and what does not.
IMO, Agile is the toolkit you use when you want to do Lean software development. Many of the tools are mature, but there are also many gaps. One that comes to mind is the weak state of product design in the Agile community. Agile’s default position on product design is you iterate on your code until you get something the market wants – I think that might work if you have small products and\or only serving a single market segment. For big organizations, multiyear projects that approach could be exceeding naive. There are Lean tools out there that have gone through the trial-and-error process, so why not use them?
Nice blog post. Insightful. But disagree with your opinion in the final para. OK, agile practices have applicability in a Lean sw org, but where’s the system thinking in Agile? Where’s the whole-product idea? And where’s the real grasp of, and focus on value, customer purpose?
I think we agree more than disagree. I am suggesting that Agile is not as a mature evolution of Lean. You rightly point out that we are missing systems thinking and whole product idea. My main thesis is why reinvent the wheel on these ideas (as technical people often tend to do)? The Lean manufacturing community has ideas about these concepts. Can we not take their tools, lighten them up and apply them? I believe we can, if we just take the time to understand what is being used.
Agreed. Although I’d reference the Lean Product Development community much more than Lean Manufacturing…
And eschew their tools – at least until we’ve actually been at the gemba long enough to begun to understand the key principles, and science, and thus which tools are relevant and why.