It’s startling to see how much momentum has been gathering around Lean Software Development and I don’t think it’s a coincidence that at the same time many people seem to be falling out of love with Scrum.
At last year’s XPDay there were no sessions on Lean methodologies, this year there are three (the one I’m doing with Matt Wynne, Karl Scotland’s on Kanban, Flow and Cadence and a keynote from the Lean Enterprise Academy).
There’s something about this that makes me feel slightly uneasy. What’s so wrong with Scrum? Well, I’d be the first to stand up and say that Scrum has it’s failings - they’re the same reasons it’s become so popular. The simplicity, clear definition and business-friendliness of Scrum make it easy to sell (arguably, unlike XP) and waterfall or traditional development dynamics (project manager, use-case, Gantt chart, meeting) can be easily translated into Scrum’s characteristics (scrum master, story, burn down, stand up). Unfortunately all too often this is what happens resulting in what’s become know as Cargo Cult Agile, or WAgile, the underlying concepts and belief systems being mostly ignored. When I did Mike Cohn’s Certified Scum Master Course his principle lesson was “Inspect and Adapt” which he repeated endlessly throughout the course, but when I look on the Wikipedia entry for Scrum this doesn’t even get a mention so it’s easy to see how this happens.
So what’s so different about Lean? Well for a start there aren’t any clearly defined rules, but instead principles such as Eliminate Waste and Build Integrity In. However it strikes me that there’s just as much room for abuse with concepts such as Kanban, Minimally Marketable Features, Cumulative Flow Diagrams and so on. Consider this exert from The Toyota Way (which I’ve shamelessly stolen from James Shore’s article on Kanban Systems - I am actually reading this book as we speak, but haven’t got very far yet):
“…TPS experts get very impatient and even irritated when they hear people rave and focus on kanban as if it is the Toyota Production System. Kanban is a fascinating concept and it is fun to watch… When is the kanban triggered? How are the quantities calculated? What do you do if a kanban gets lost? But that is not the point… The challenge is to develop a learning organization that will find ways to reduce the number of and thereby reduce and finally eliminate the inventory buffer… So kanban is something you strive to get rid of, not to be proud of.”
Many of the reasons people aren’t being as succesful as they’d like with Scrum are exactly the same reasons they won’t be any more successful with any other methodology. People tend to focus on tools because it’s a lot easier than trying to tackle the often very difficult, challenging and more fundamental problems they grew from. Real change is hard and takes time, a very long time in some cases.
If you’re failing with Scrum don’t think lean, kanban, extreme programming or any other colour of agile will save you. Essentially if you’re failing it’s because you’re doing it wrong. However if you’ve found Scrum is working really well for you and has brought enormous benefits maybe you should come to the talk Matt and I are doing at XPDay and see how we evolved to a more lean process.
Update: since writing this James Shore has written a frighteningly similar post on The Decline and Fall of Agile, but I guess great minds think alike huh? ;-P

November 17th, 2008 at 9:50 pm
[...] Rob Bowley prédit même que les méthodes à la mode en cette fin 2008, Lean Development, Kanban, Minimal Marketable Feature, prendront le même chemin que Scrum. Attendons un peu et nous devrions voir des articles sur Lean Development Software qui se propose de remplacer Scrum… (note : je ne dis rien car j’avoue que l’idée m’a traversé l’esprit). [...]
November 19th, 2008 at 2:19 am
I agree, often people seem to be fast to put blame for their own failures on tools they are using. Human nature, I guess.
Here is a short story: one is given a hammer to hammer a nail, and in an attempt to do that, he hits his fingers or damages the wall. Then he blames hammer for being the wrong tool.
Hm. What do you think?
Now, I know that I should hold my wrists firmly, be careful where I put my fingers, watch the angle of the nail and where and how I hold the tool and I bet you I can hammer a nail like an expert even by using the heel of my shoe (okay, I definitely prefer hammer - easier, faster, safer).
So, if you failed using Agile, be honest with yourselves and judge fairly. Was it really the method? Was it how you implemented it? What did you miss and what could you have done differently? After all, remember, it is not all that bad to fail. You fail, you learn. Just be honest in your judgements and retrospectives.