| Scrum and Kanban in the real world |
|
Kanban is promoted by several people as being the new thing that will replace Scrum as the favored Agile way of working. So people ask: “should we go Kanban instead of Scrum?” Well, should we have a hamburger or listen to Mozart? In my view Kanban and Scrum are two different ideas that do not operate in the same areas of business. The way I view it is:
To me Scrum is the big picture of how we generate value out of effort in organizations. We can use Kanban inside Scrum Sprints as a way of executing the work. If Kanban is used on its own, and there may be lots of work scenarios, where that is appropriate, I think of Kanban as Scrum where the Sprint is reduced to one day or perhaps completely abandoned. People who advocate Kanban over Scrum often hail the fact that there are not the same restrictions and rules, you don’t have to do Sprints, you don’t have to do Estimation, you don’t have to do Retrospectives. I wonder, are we seeing the old dislike of organization or boundaries in development groups rearing its head again? We want to do what we see best fit, when we want it. The absence of boundaries is not in itself a positive, we are not in Height Ashbury in 67, the summer of love, any more. Boundaries are absolutely necessary if we do want to establish self-organization. In order to establish common understanding about the product, we need to have a common language, a clear vision, a guideline in what direction we are heading and and and. You can compare Scrum rules with the traffic-law. These boundaries establish a framework for getting from A to B and surviving the process. I will try to elaborate a bit on this. So what is Scrum really?Scrum is a philosophy, a way of thinking about and attacking projects and campaigns of a certain size and complexity in such a way that near-optimal outcome is achieved. The heart of the Scrum philosophy is the “Spirit of constant improvement:”
Overarching this is the fundamental philosophy of making impediments and obstacles visible and dealing with them in real time to keep momentum and commitment up. A set of boundaries is implemented in Scrum to facilitate the goals mentioned above:
And what is Kanban then?Kanban is essentially an advanced taskboard, typically with different stages (states) that work in progress (WIP) have to pass through to be completed, the workers (team) pull from upstream stages. At each stage a limit of deliverables allowed in this stage is imposed to minimize the amount of WIP and create a harmonic flow to reduce lead time. That’s it! Regarding the rest of everyday structure you are on you own. The argued benefits of Kanban over ScrumLet us now look into the different practices of both approaches in order to see the benefits of the both ideas from the viewpoint of Kanban. 1. Limiting work in progressOften the primary benefit of Kanban is supposed to be an explicit limiting of work in progress (WIP). That is however inherent in Scrum, where we focus on getting deliverables to “Done” as quickly as possible. By breaking the tasks needed for a “Done” deliverable down into pieces that normally only takes about one day to complete it is easily discovered and dealt with. It is true that there is no explicit limit on WIP given in Scrum, although advocates of Scrum tell people to minimize WIP. In gerneral that is fully compliant to the idea of Scrum, as it is assumed that the Team have enough overview of the work in the Sprint to be able manage that complexity without waste. The split of work into Sprints reduces the local complexity in the Sprint, so this is normally not an issue. In fact the explicit limiting of WIP in Kanban creates an unnecessary pressure on people. Instead of giving people a guideline how to do their work, the process of Kanban forces them to work in a specific way. 2. Reflecting the different stages of work in progressIn Kanban it is typical to have WIP split into for example stages of “Design”, “Implementation”, “Test” and more. On one side, this can be helpful, and Scrum does really not say anything about how the Task board or Sprint Backlog should look. All we say is that the Sprint Backlog must exist in order to follow progress and enable quick intervention if something goes haywire. On the other side this impacts the self-organization capabilitiies of a cross functional team. Defining these stages does not encourage people to take on tasks they are not used to do and reinforces old habits of specialized roles. It encouraged people to stick to what they know. 3. The absence of rulesIt is argued that since Kanban only states very little everybody is free to develop the structures they need. Everybody should use the tools they find useful. Looks great! But is not true. Creativity needs boundaries. Teams needs boundaries. Scrum is an empirically proven starting point, and one that everybody can understand. Total liberty is not a blessing, but a curse. By starting with a well defined framework (which Scrum is) everybody hits the ground running and the rest of the organization can understand this “project language” it is not freshly invented every time. As teams and organizations mature, sure they will make local adaptations and adjustments to the Scrum of the books, but that is not the same as dropping all boundaries. Consequences of adapting just KanbanMy opinion is, that if you just do Kanban you confine your area of leadership impact to the pure tactical and task oriented level. All strategical and team concerns are not dealt with - or you have to invent some extra things on top of Kanban to cover that. Kanban is production, well suited to a constant stream of work, where each stage of work is fairly well defined. Some examples may help:
ConclusionKanban on its own is suited for a constant stream of jobs to do, for example as in production, operations or support departments. In such work the notion of a Sprint is often not possible, people may not know in advance what will hit them. Often there is also no discussion about business value or estimate of a certain job or deliverable, it just has to be done. If the main server is down, just get it up again. Scrum on the other hand is about strategically choosing what to do with the resources available. It is a way of running an organization with constant demand to invent or change. My claim is that Kanban and Scrum deal with two different realms. Kanban is about firefighting, Scrum is about lighting fires (the right ones of course). Kanban is a defensive “modus operandi”, Scrum is an offensive one. 2010-07-18. Certified Scrum Trainer, Kurt B. Nielsen |






