AvailAgility
Karl Scotland – Using Agile to Deliver Value
Karl Scotland – Using Agile to Deliver Value
There has been a lot of discussion recently around trying to define what Kanban is. Is it a tool? A process? A philosophy? During a discussion on the kanbandev list, Ron Jeffries led me (probably unintentionally) to an idea for a different way of trying differentiate Kanban from other Agile approaches. Rather than attempt a direct comparison and identification of unique differences, I realised that the various approaches are different only in where they place their emphasis. XP places a lot of emphasis on the technical practices. Scrum places more emphasis on the project management practices. Kanban, places its emphasis on business and value flow practices. As Ron would say, its all the same elephant, but each approach has a different view of it. At the end of the day, its having the most appropriate elephant for any given context that is most important.
Using Kent Beck’s distinction of Primary and Corollary Practices in XP (2nd Edition), I think that Kanban can be differentiated by identifying its Primary and Corollary Practices. As such, these practices may not be unique to Kanban, but are considered the most important. High performance Scrum and XP teams will inevitable use these practices in some form, but I don’t consider them to be clearly described as Primary Practices in those methods.
The Kanban Primary Practices I see (at the moment…) are:
A Kanban team will almost certainly use Corollary Practices which may be considered Primary in another process. For example, a high performance Kanban team will inevitably use technical practices from XP, such as TDD and Continuous Integration. Other Corollary Practices from other methods might be the use of MMFs and User Stories to manage the work items. Equally Use Case Scenarios and Steps could serve the same purpose. Metrics such as Cycle Time, Throughput, Velocity, Cumulative Flow Diagrams and Due Date Performance are further Corollary Practices which could be used alongside the Cadence. The list is probably endless. The above Kanban Primary Practices set the foundation for a team use whatever other techniques help them be successful.
June 15, 2009 - 8:10 pm
Sounds like the basis for Karl’s unwritten book on Kanban
June 15, 2009 - 8:44 pm
Can you provide your vision of Cadence? What are the examples of Cadence?
June 15, 2009 - 9:36 pm
Nice list. I’m thinking that this is covering the JIT side of things so I wonder about the jidoka side of things.
June 18, 2009 - 9:39 am
Jidoka is about stopping and notifying when problems/abnormalities occur and separating human and machine work: http://jchyip.blogspot.com/2009/06/jidoka-is-not-just-built-in-quality.html
Stop and notify behaviour seems independent from visualisation and limiting WIP. The other aspect of jidoka, separating human and machine work, ends up being more about what we automate and what we do by hand.
I raise the point because I think it should be explicit.
June 16, 2009 - 8:34 am
Hi Michael,
By Cadence I mean the team policies around when they will perform various activities such as prioritisation, planning, reviewing, releasing, retrospecting. These could all be at varying intervals, and generally form a regular rhythm. It’s possible for the cadence to be
irregular, although I suspect this will only work for very small teams with less need for more formal co-ordination.
Karl
June 16, 2009 - 2:56 pm
I don’t seem to be able to find the time to review your book, let alone write my own!
June 16, 2009 - 2:58 pm
Good question. My immediate thought it that the Visualisation and Limiting WIP play a large part in Jidoka. On top of that, many of the XP technical practices play a part as well.
June 18, 2009 - 12:04 pm
I would say that the WIP limit and visualisation are a mechanism for stopping the system and notifying of a problem.
Having said that, the human side does seem to be an important piece that probably needs making more explicit. I’m undecided about how, or if, Kanban treats this differently to XP and Scrum though.