Agile Zone is brought to you in partnership with:

Rob Williams is a probabilistic Lean coder of Java and Objective-C. Rob is a DZone MVB and is not an employee of DZone and has posted 170 posts at DZone. You can read more from them at their website. View Full User Profile

The Problem with Kanban

  • submit to reddit

Since moving from more of a Scrum-dominant Agile variant to a Lean one, things have been a lot better. Mind you, one of the biggest problems with the Scrum approach was we were first using XPlanner, which was not sufficiently feature complete, then went to Rally which was a bloated homunculus. (Ok, I‘m kind of obsessed with that word…) You don‘t really get more visibility or control from the heavier process, and there are things the Kanban will show you that you will never see in the other systems. Finally, the 2nd Law rapidly overtakes the likes of Rally while the board has a very effective built in defense (limits on the number of items in each column).

The biggest problem with Kanban is that it‘s designed for a world where things go through the line once (e.g. a carmaker). In software, this is almost never the case. The real masters of software are the ones who figure out how to put enough meat in each sausage and then keep the machine running, consistently, providing newer versions of prior incarnations without stopping the machine. This is one of the other parts of the Apple Phenomenon that confounds the old (broken) models: their competitors still live in a one-pass world of retooling and trying to arrange each product as a separate milking occasion.

In practice, the potential remedies for this are mostly unsatisfying. You can describe something conceptually and then parse out the details of what will be complete in the first version in the tasks, but then how does the remainder get re-enqueued? (Again, beginnings and ends that are process rather than product serving.) The other possibility is to just describe the waves of versions of a thing in separate stories. That‘s really unsatisfying because there is no way to keep them together.

Some might say that I am taking Kanban too literally, but I disagree: the whole point of Lean is to mind the VSM. Turns out that the minding is scoped and linear in the real world, but in software, we not only rarely do things that way, at the micro level, it‘s one of the worst anti-patterns there is: people trying to think every story through to some absurd logical completeness. Software is like Fresco painting: you have to get the shapes down and fill in some of the colors before you get crazy finalizing details. Frankly, if there‘s one thing software needs desperately its tools that make this process of roughing then refining easier to do in teams. Kanban is great, but it‘s got a big hole in it.

Published at DZone with permission of Rob Williams, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



Ricky Clarkson replied on Sat, 2011/08/06 - 7:26am

This seems to be trying to make software more complex than it really is. You can at least state that you believe a task is complete. If it bounces back later for some reason, that's fine.

Andrew Gilmartin replied on Sun, 2011/08/14 - 6:50am

"The biggest problem with Kanban is that it‘s designed for a world where things go through the line once (e.g. a carmaker)." This got me thinking about whether the problem is with Kanban in software or the kinds of software development Kanban is more useful in. Generally speaking, a service firm builds a single use/customer tool while a product firm builds a multiple use/customer tool. A service firm tends to have more tasks around the missing parts of the software while a product firm tends to more tasks around the bugs in the software. For a service firm the factory is the assembling of the parts. For a product firm the factory is perfecting the assembly. I am mostly thinking aloud here but I think it is a useful train of thought as to why Kanban works for some firms better than for others.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.