Wow, what a week! A BIG post (Link removed at the request of the author) on Kanban by Scrum evangelist [unammed at the requset of author] litterally put the blogosphere (and twittersphere on fire!).
It is good to have these family fights in the Agile family once in a while. As a life-philosopher once said: “These things gotta happen every five years or so, ten years. Helps to get rid of the bad blood”.
But what are the differences between Kanban and Scrum, really? What are they?
Here’s my take on the differences:
Kanban is, from it’s origin a more systematic approach to measuring, visualizing and following up work in a “system” (one team, many teams, a company you name it). Thanks to the work by the Poppendiecks, David Andersson and Don Reinertsen (and others I’m sure) a pretty interesting and innovative economic framework as been put into the software process development lingo. Cost of Delay, Queues, optimize the whole, etc.
This economic framework is, in my view, the major innovation that Kanban proponents bring to the table. This was to be expected as many of the early adopters of Kanban were using Scrum before and felt the need to quantify and analyze some aspects of software development that Scrum did not tackle.
Scrum brought to the fore-front of process discussions issues that had never made it to our attention before: Self-organization, people/team dynamics, problem solving within a short cycle with feedback loops in place (Sprint), etc.
The major innovation of Scrum in my view was the introduction of the Socio-technical system of software development as Liker describes it in the Toyota way. Other similar software development processes took some of the ideas that Scrum also took, but shied away from the self-organization at the team level and blocker-removal focus of roles such as the scrum master. Those methods did not last long because the teams felt like puppets instead of adults with the possibility (and responsibility) to produce the best product they could.
Both Kanban and Scrum brought significant innovations to the software development world. Those are just two types of innovations. There is more coming from the community and instead of focusing only on these two methods (which all of you should experiment with!) we should also look at what else is missing in the software development ecosystem.
My next interest area is “Complex Systems” (Complexity + Systems Thinking) and Management as a profession. I’ll be exploring those subjects more and more in the future as a way to complement my use of Kanban *AND* Scrum. I suggest you do the same and find what else is missing in your environment and look for what else is around that could help you complement what you are already using. Here’s a suggestion: start with @jurgenappelo‘s book on Management!
Happy reading, happy learning!