Alternate Title: A model for understanding Scrum and Kanban
As I flew home after LSSC10, I wondered how Kanban-style software development would shape my world in the years to come. I self-identify as an Agile/Lean Coach and wondered what the road ahead looks like for me.
Someone at the conference commented that Kanban was going to dominate discourse in our community. Some people in the Kanban community say it is more widely applicable and is a more rigourous approach. Another commented that software processes historically have a 7 year run and so it is time for the age of Scrum to wane. The arguement goes that even if Kanban isn’t better, the community needs a new buzz to keep things going. All this made me wonder.
Is this true? If it is true, what does this mean for me? How can I reconcile this with what I know works? Before we delve deep, I need to share where I am coming from.
I use Agile
I have used Scrum for many years as a starting point for Agile transitions. It is compact, creates visibility, and builds a team culture. I also use XP practices.
I use Lean/Kanban
I have been using Lean concepts for many years and very heavily in the last year. I have made extensive use of Kanban-style Scrumboards as well as pure Kanban boards for business and support groups. I have had great success with other tools as well: root cause analysis, the A3 technique, and value stream mapping. This winter, I implemented Kanban with a 18 person software group and shifted behaviour with a cumulative flow diagram.
For me, Agile includes Kanban
When I read the Agile Manifesto and principles, I don’t see anything that excludes Kanban. All the XP technical practices still apply – perhaps even more so. Scrum notions of Product Owner, Product Backlog, and Retrospectives still hold value. Iterations may be gone, but they have left a trail of useful concepts of tools that the Kanban community enjoys. Maybe 80% is the same. Why am I making this point? Some proponents on Lean and Kanban highlight the differences rather than relationships: “Kanban is new!” “We are post-Agile” – as if that were cool. Our community is better served by focussing on the positive in every approach.
What I learned at LSSC10 that shifted my thinking.
At LSSC10, I started noticing contexts – what environments and circumstances encourage Kanban-style Agile.
Support Kanban What blew me away was a keynote case study on Kanban turned out to be about a couple of support groups who figured out that Scrum is not a good fit when there are lots of interrupts and emergencies. Ah, um, … not really news. This is the canonical case for Kanban.
Naked Planning or using XP for single-piece flow is about creativity and cross-functional teams swarming work (MMFs). The context here appears to be a team with a lot of focus working on innovations. This is much more similar to Scrum/traditional Agile rather than Kanban.
(Vanilla) Kanban Mike Fitterman and Rick Simmons of Constant Contact told the story of how Scrum wasn’t working out. Two development teams shared QA and product people and found there was too much planning and communication overhead. (Ooops, sounds like ScrumBut.) Anyway, the context in which they applied Kanban was with one with specialists and group that was too large to be a team.
Vale Kanban Alisson Vale described an environment with small work packages that come from a variety of demand channels. It very much sounded like system evolution rather than discontinuous innovation. Interestingly, his model does not follow work decomposition by role but rather allows flexible routing and story swarming much like XP.
Production Line Kanban and (Vanilla) Scrum Most insightful of all for me to outline contexts was Clinton Keith’s session on video game development (go read it). He used a timebox for creative work both with takt-time in production-line style Kanban and with Scrum during design and problem solving phases. So, in this situation, they see Scrum for exploration and Kanban for cranking stuff out.
Scrum and Kanban fit different contexts
- Kanban can handle a lot of interrupts
- Kanban supports specialized roles with divergent skill sets
- Kanban excels at repeatable work such as a production line
- Kanban works fine for groups larger than 7+/-2 since communication and planning overhead is lower
- Scrum excels at projects requiring deep collaboration and innovation
- Scrum works best with small cross-functional teams (7+/-2)
- Scrum is great for providing shared goals and work context
- Scrum encourages generalists
For a more comprehensive list of similarities and differences see Kanban and Scrum – making the most of both.
A model for thinking about Scrum and Kanban
I am a visual thinker so I need a picture to put it all together:
- The vertical axis differentiates environments with a strong focus from those with many interrupts and divergent needs.
- The horizontal axis indicates the spectrum from defined, repeatable work to exploratory and innovative work that benefits from swarming.
Every process has a sweet spot
I have indicated where I see various process styles play best. (For example, Scrum is good when there is focus and exploration.) The dashed lines suggest that these are not hard boundaries. The regions and shapes are more illustrative than literal.
In this model, Kanban is at centre stage. I have repeatedly witnessed first hand that Kanban is very easy to implement and provides great benefits.
I also have seen the value in creating small, focussed teams using Scrum. For sure it is harder and yet very rewarding. On the downside: it doesn’t fit all contexts.
In truth, I am not 100% satisfied with the fidelity of this model, however, it helps me understand how to approach work with my clients
We need to know both Scrum/XP and KanbanIf all you have is a hammer, everything looks like a nail.
What tools do you have in your belt?
Henrik Kniberg gives the metaphor of comparing a knife with a fork. Which one is better depends on the situation. We need need to know both Scrum and Kanban. XP, too, but that goes without saying.
As an Agile coach I need to understand a client’s situation to know whether to start with Kanban or Scrum or both. Miyamoto Musashi – a famous Japanese Samurai spoke regarding choice of tools – said “You should not have any special fondness for a particular weapon, or anything else, for that matter. Too much is the same as not enough.”
Let’s build community
For my Scrum and XP friends, Kanban is here to stay and it is going to continue to grow; let’s embrace it and help mature it.
For my Kanban friends, let’s build bridges and create a strong inclusive community.
Hungry for More?
- Kanban and Scrum – making the most of both by Henrik Kniberg and Mattias Skarin
- Kanban by David J Anderson (Just released)
- Scrumban – Essays on Kanban Systems for Lean Software Development by Corey Ladas
Many thanks to Jason Yip for helping me refine my thoughts and to Siraj Sirajuddin for getting me to attend LSSC10.
What do you think?
The picture I am painting may be missing something. Please share comments or get in touch with me directly to build a better model.
- Kanban for Video Game Production Clinton Keith gave an insightful session around designing and configuration...
- Enough Kanban! Use XP for Single-piece flow Arlo Belshee and Jim Shore had an interesting pair presentation...
- LSSC10 Keynotes on Process Models, Assumptions and Risk Sadly, I did not do as good a job capturing...
- No Interruptions in Scrum is an Anti-pattern Alternate title: Most Scrum teams need a Kanban board I...
- Munich 2009 Scrum Gathering Roundup I was really excited to see the presentations from the...