Software development is not manufacturing. You can’t take a system designed for building cars and use it to manage software projects. Building a car is a series of identical tasks which don’t change as long as things are going well. There’s one best way to perform each task. Software development is knowledge work. Every step is different, every time. It’s about discovering the best way to do things, and then discovering better ways. It’s creative work, not subject to the rules of manufacturing process management.
Yes. Of course. I agree. But I’m getting really tired of hearing it.
This post is going to be in the form of a rant. Not just because I need it; that would be just selfish. I’m choosing the format of a rant because this needs to be said once and for all in a way that will make an impression.
Because the Kanban Method is not the Toyota Production System. No more than Scrum is rugby.
You never hear anyone saying that software development is not a game. You can’t take a tactic designed for deciding which team gets control of a leather ball and use it to manage software projects. Forcing your way through a concentrated group of blockers is a physical challenge while software development is knowledge work.
I can imagine that the names of two tools frequently applied (often at the same time) to improving value delivery by software companies had similar origins.
Jeff Sutherland and Ken Schwaber, the inventors of Scrum might have been rugby fans, or at least familiar with the sport. Seeing eight people gather every day into a tight circle to work together (the daily standup) might have reminded them of something, like a scrum in rugby. Beyond that, the analogy makes no sense. In rugby, a scrum is used to restart the play after it’s been stopped by an official for some minor infraction of the rules. No one ever says, “we can’t use Scrum in our software team because we aren’t restarting work after someone got in trouble for breaking company policy.” Everyone knows that’s not the kind of scrum we’re talking about.
David Anderson, inventor of the Kanban Method, might have seen that cards in a stack or slots on a board make visible things that are normally invisible, like demand or capacity. Not unlike the way they had to find to make things like capacity in a software development system visible and therefore, manageable. What are those those things called? In Japanese, the word kanban means a visual signal. In Chinese, it means a signpost or a board. So what to call a new tool which incorporates a board full of visual signals?
Source: Scrum & Kanban
Or Scrum is related to rugby in the same way that the Kanban Method is related to the Toyota Production System. Both borrowed one word based on a loose association. That’s all.
So indeed, Toyota does use boards on the wall full of visual signals of invisible things that they want to manage. Rugby teams do sometimes put their heads together and work as a group to get something done. But there the similarities end. Can we just leave it at that, please?