Kanban's Not Better than Scrum, It's Just Smaller
Join the DZone community and get the full member experience.Join For Free
Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.
Kniberg uses a fork and knife metaphor to describe the Scrum-Kanban comparison: "Which is better? A fork or a knife? Most people would agree that's a meaningless question." The same goes for Kanban and Scrum. They cover different aspects of workflow agility, and there's no method that covers everything, Kniberg says. If people believe there is a method that can do everything, he says they need to throw away that belief first. "That thinking is what's leading us to very heavyweight methods," said Kniberg. Scrum, for example, is seen as a cure-all by some organizations, but Scrum, like any methodology, has limitations. Scrum only works in a context where iterations make sense. Kniberg says you might have an operations team or a maintenance team that doesn't need to batch work into timeboxed iterations. Scrum could still help those teams, but you wouldn't want to include timeboxed iterations.
The same example doesn't apply to Kanban because it's smaller, and more generic. "In general, I think it's harder to find cases where Kanban doesn't work than it is to find cases where Scrum doesn't work," Kniberg said. There's a direct correlation, he says, between how big the process is and how widely it can be implemented. The bigger the process, the less situations it can work with. Being more generic means that Kanban can be applied to more situations, and it seems to fit with almost any context. "It used to be like that in Scrum," said Kniberg. "I was kind of part of the problem because when I first started using Scrum, it worked very well in comparison to everything else and it was hard to imagine cases where it wouldn't work well. Now that we've gone past that initial honeymoon period with Scrum, it's quite clear where it doesn't work well and I think that's going to happen with Kanban too." Right now, Kniberg says Kanban is working explicitly well in cases where other methods have failed. However, he thinks that as adoption becomes more widespread, we'll start finding cases where it doesn't work so well.
"I've thought about it, and it would be useful to come up with a case where Kanban didn't work, and I can only think of one example so far which is pretty silly: When my six year old son and I are building a sandcastle and having a lot of fun: if someone were to come by and say, 'Hey guys, you should use Kanban and put up a whiteboard,' we would say, 'Get out of here! We're building a sandcastle!'" Building a sandcastle for fun, Kniberg says, is a process that doesn't need to be controlled.
He says ideas like visualization of work and limiting work in progress are intuitive ideas that are hard to find fault with. Kniberg said organizations have sometimes misused Kanban by creating the illusion of predictability in situations where the process isn't repeatable. "I've seen some tendencies with cross-functional Scrum teams where they fall into the trap of starting to use Kanban within the sprints. So they set up this false workflow (analysis, code, test, etc.) and what they've done is they've imposed a structure and a predictable, repeatable workflow which wasn't there in the beginning, and that limits them by taking away the whole advantage of being cross-functional." Kniberg says that in most of those cases, however, the team will end up fixing the board because it feels intuitively wrong. "These kinds of mistakes are really just part of the learning curve," he said.
If used correctly, Kanban, Scrum, and other methods can work together effectively. Kniberg said that using Kanban to map what is happening around the Scrum team is the combination that is most likely to succeed immediately . "The Scrum team's whole work might be a single column on the Kanban board," said Kniberg. "You use the Kanban board to show what wasn't there before, in other words, what happens before the sprint and what happens after. In that case, there's nothing you can lose by using Kanban." Kniberg has come up with his own word for making the Scrum sprint part of a higher level Kanban workflow. He calls it "Kanbanizing" of a Scrum team.
If you want to learn more how Scrum and Kanban relate take a look at Henrik's new book "Kanban and Scrum - making the most of both".
Opinions expressed by DZone contributors are their own.