views:

1508

answers:

6
+14  Q: 

Kanban vs. Scrum

Can someone with Kanban experience tell me how Kanban and Scrum differ? What are the pro's and con's of each of the different project management methodologies? Kanban seems to be getting a lot of press these days. I don't want to miss the hottest new way of tracking my teams failures (...and successes).

Responses

@S. Lott - What part of this article wasn't clear enough? infoq.com/articles/hiranabe-lean-agile-kanban/…. Do you have a more specific question? That is a great article but technically no it is not clear enough. That article gives a great amount of detail about kanban (and thank you for it...good read) but it does not specifically contrast Kanban vs. Scrum. That article will help someone like me make a decision but it most certainly won't help someone like my boss or in general someone less experienced! I was hoping for a quick overview of kanban pros and cons contrasted to scrum pros and cons. Thanks though!

@S. Lott - Why do you say kanban vs. scrum? What leads you to conclude they are conflicting approaches? Can you make your question more specific? I don't think that they are necessarily conflicting. But they are different enough for a user to adhere to one over the other. Perhaps one fits a project or company better than the other? How would I sell one over the other when presenting a project management approach. Say I went to a company that was currently stuck in the rutt that is "water fall" - why would I sell one approach over the other?

+19  A: 

Kanban and Scrum are completely different concepts used for managing resources to solve completely different circumstances.

Kanban is a ticketing system to ensure a pool of resources can deploy proper and sufficient resources to a task and for the pool to refuse request for service until sufficient amount of resources are free to be deployed.

For a facilities department, let us say it maintains 20 kanban tickets (either physical card or computer registered tokens, doesn't matter). A service request to fix a pipe, seen as requesting for 3 tickets, is serviced and so now the facilities resource pool has only 17 tickets left. As the day went by, more services are requested or deployed by schedule and a queue of service requests forms because the department has deployed all its tickets. Let us say that at the current level, 19 tickets have been deployed, and a next request is in the queue which requires 2 tickets. But somewhere down the line, are a few requests that require only one ticket. So should we let the queue to be blocked or let the tiny one ticket jobs to be done? Because what if 2 tickets return later to construct a complete three-ticket resource? Therefore we need to have scheduling capability to make such decisions to know when tickets are returning.

However scrum is not a resource-to-service management framework. It is an agile project management framework that does not have resource capacity tracking. It depends on the service providers who are "bacon" members of the scrum to judge how long they need to accomplish a task.

Scrumming facilitates fast turn-around by breaking a project up into small fluid micro projects. It used to be that the waterfall method would stretch a project to months or years before being released for use. However, scrum and agile project management frameworks shows evidence of having originated from rebellion against the old school waterfall masters who used to call these short-turnaround strategies as lazy, incomplete, constantly shifting targets, unable to nail down any real needs.

But that is exactly what the real world is - lazy, incomplete, constantly shifting targets, unable to nail down any real needs. By the time a traditional waterfall project had completed it normally would have become misaligned with the users as the requirements have changed significantly. Comparing scrum/agile to waterfall is like comparing reduced-instruction-set-computers with complex-instruction-set-computers. if we reduce the granularity of a project's components, we have a lower chance of resource duplication. Due to the small granularity, the project's microtargets and consequently the project on the whole is able to move with the moving targets.

Agile project management strategies like scrumming encourages an attitude towards product release which is do it quick, precise and do it often. It has a great advantage because for example, if a project is to accomplish a product with 10 features, why not create a product with just one feature and release it and then release a new feature every week. By doing so, both consumer and supplier can make immediate adjustments to their misconceptions.

Traditional waterfall presumes the consumer's specs are perfect and provides some mid-term reviews but never a product to the consumer. By the time the product is released, both consumers and suppliers finally realised too many presumptons have gone wrong and were not rectifiable because they were not brought to light. As far as the supplier is concerned, they have fulfilled their end of the contract and the consumer should pay up before attending their own (project) funeral.

However, agile project management requires commitment from both the consumer and supplier. The consumer must want and willing to use a frequently changing product. If not, agile management is pretty much handicapped. One way is for the suppliers to have its own team of pseudo-consumers who must be completely in-tune with the attitudes and practices of the actual consumers. If such internal pseudo-consumers(normally those presumptuous sales and customer service engineers/scientists) also refuse to participate, agile techniques is doomed for failure because, what is the point of quick turnaround if there is nobody to provide feedback? I have seen scrum fail because customer service refuse to participate.

Also, scrum tends to fail when members treat the daily scrumming sessions as project and excuse reporting rather than serving the actual purpose of being a quick, convenient and physical bulletin board of exchange and synchronisation.

Perhaps, you could merge kanban with scrum so that scrum has a definite way of producing time-lines because currently it depends on a resource owner to wet his/her finger and stick it in the air to come up with a schedule. But in my opinion it is probably not workable because kanban is used to manage a stable and defined service environment whereas scrum is used to manage a constantly changing development rather than service environment.

As the level of expertise matures, the facilities department may find itself with a group people who could perform tasks faster so that a job that used to require 3 tickets now requires only 2. Maybe somebody quit and an inexperienced hand is hired as replacement. There is no such provision in scrum.

Blessed Geek
+4  A: 

Scott Hanselman did a podcast interview with Nate Kohari a few weeks ago on Kanban with lots of references and comparisons to Scrum here: http://www.hanselminutes.com/default.aspx?showID=188

Troy Hunt
I heard it...it was very good. Thanks! I don't miss a single hanselminutes!
Andrew Siemer
+2  A: 

Scrum can be described as a project management process that you can wrap around your existing engineering practices; it doesn't care how you develop software, it cares that you meet your commitments. First described in a 1986 Harvard Business Review article, what we now know as Scrum was initially used for software development by Ken Schwaber and Jeff Sutherland and their separate teams in the mid-'90s. Scrum emphasizes timeboxing (fixed spans of time), team empowerment, transparency/visibility into what is happening and what isn't, commitment, and inspection and adaptation of both the product and the processes. At a deeper level, Scrum is an organizational change process masquerading as a project management process; impediments that keep you from delivering high quality software on time will become apparent, and you have the opportunity to make changes to your processes in order to remove those impediments and then evaluate the efficacy of those changes.

Kanban is the workflow management process behind Lean Manufacturing. The name 'kanban' comes from the Japanese symbols for 'visual card' and represents the card used to pull work (or inventory) from upstream stages in a workflow. Kanban emphasizes continuous flow instead of batching up work, limiting work in progress to match team capabilities, prioritization of work items, and maintaining a high level of quality. In the past several years, Kanban has been brought into the software development world (David Anderson was/is the primary driver). Using a Kanban board to track the status of work items is very helpful as a means of understanding where the process bottlenecks are in an organization; that is why many Scrum teams use a Kanban board for sprints.

My experience has shown that Scrum works well for new product development, while Kanban works very well for continuous delivery situations such as sustained engineering. This is not to say you can't use Kanban for new product development, or Scrum for sustained engineering; you can. I often find that undisciplined teams benefit from starting with Scrum, and then once they get into the habit of producing high quality software in iteration-sized batches, the obvious optimization is to remove the batches and get continuous flow (migrate from Scrum to Kanban). In fact, I often refer to Kanban as 'iteration-less Scrum.'

Both of these processes cannot be given justification in a simple answer, but you can find plenty of reading material on the Web thanks to Google. The Scrum Alliance (www.scrumalliance.org) is a good resource for Scrum information (obviously). You can find more information on Kanban by looking at David Anderson's websites (start at www.agilemanagement.net). And you may want to look at my blog or our website (www.construx.com) for additional information on Scrum (and, as soon as I get around to writing an article or two on it, Kanban).

Let me know if I can be of help.

John Clifford
+3  A: 

You can find lots of resources on Kanban for Software Development at the Limited WIP Society - including some articles and blogs comparing Scrum and Kanban

kjscotland
+7  A: 

Here's an article called "Kanban vs Scrum" (although I've since renamed it "Kanban and Scrum - making the most of both"). This is my attempt to make an objective comparison.

http://www.crisp.se/henrik.kniberg/Kanban-vs-Scrum.pdf

Henrik Kniberg
A: 

In short, I would recommend Scrum to projects with regular deliverables. Kanban works a lot better in teams with lots of adhoc tasks, due to the relatively shorter time it will take to respond to new high priority tasks.

Kaj Bonfils
You can have regular deliverables with Kanban as well. The beauty is you can decide to decouple your releases from your planning.
Pragmatic Agilist