Which is Best for My Team? Kanban, Scrum or ...?
If you treat Kanban and Scrum as if they are competing approaches, or adopt a textbook approach to their implementation, then the advice to choose one approach over the other usually breaks down as follows:
|* Work for the team is more than 50% demand driven (team's priority is responsiveness)
|* Work for the team is most project driven (team's responsibility is predictability, forecasting and productivity)
|* Team questions value of estimation and planning
|* Team struggles to break items into small pieces
|* No or low appetite for significant process change
|* Some or high appetite for significant process change
|* Team members have significant self-discipline
|* Team members have limited self-discipline
Some people feel like Kanban is easier to implement and so opt for that. The reality is that the WRONG reason to implement Scrum is because the Team is simply unwilling to do Scrum-like events or find that they cannot finish a Story in one Iteration.
A notes on this criterion. Many teams whose work is the result of a ticketing system assume that all their work is demand driven, and that Kanban is therefore their only option. This is a problem in that if the team can plan work, they usually are also able to deliver better and faster over time.
Experience has shown that work coming from the ticketing system does not mean that we must treat every work item as interrupt-driven and therefore you are unable to plan it. For example, teams that are pure production support have different classes of incoming problems and so can vary how quickly you would need to respond to that problem. A production site is down request is going to need a more urgent response than say a minor defect because of a workflow problem. This gives as an option to plan more items and would mean that Scrum practices are useful. For example, if we can suggest to the customer “that they wait for (on average for a 2 week Iteration) 1 week for us to work this defect” then we can treat this as an input into the next planned Sprint (iteration) in a Scrum implementation.
In some instances up to 65% of the incoming work for a Team can be treated this way.
In some ways the discussion about whether you use EITHER Scrum OR Kanban is misleading. Like all agile approaches the best idea is to leverage Kanban and Scrum to improve how you deliver value. Scrum teams can benefit from ideas like understanding the workflow, WIP limits, classes of service. Kanban teams benefit from an understanding of the purpose of Scrum events, roles, and artifacts and incorporate some or all of them into their practice.
Here are some more specific approaches people have tried:
- Team Examples
- Kanban Teams are set up as cross-functional
- Scrum Teams set WIP Limits within a Sprint
- Kanban Teams Setup cadence of retrospectives, daily meetings, etc
- Scrum Teams establish (capacity-based) rules for Break-fix or other “interruptions”
- Team-of-Teams (Scaling) Examples
- Kanban Teams commit to work on Sprint Schedule to aid in synchronization and Alignment
- Portfolio and Program level work is set up as Kanban
- Retrospectives drive improvement
- Scrum and Kanban as a toolbox of ideas to Leverage
- Use whatever helps you improve