Take-away #1 from David Anderson’s Kanban Coaching workshop.
Kanban (as applied to software development) has created something of a buzz over the past few years growing out of a couple of case studies of David’s along with the experiences of the likes of Arlo Balshee now we have many more experiences from a variety of contexts.
Given this it was interesting to reflect on why a Kanban approach might be right for a team or organisation looking to adopt an agile way of working.
David highlighted a number of reasons why Kanban might be the right approach including:
- Optimising an existing process is easier and more effective than trying to introduce a new one
- Provide what execs want
- Achieving high maturity
The first of these points challenges the approach that many process improvement initiatives have taken in providing new job titles, new process, new document templates and more. By contrast where an organisation has an existing process, possibly with specialisations and tooling in place, a Kanban initiative would seek to model existing workflows and expose issues leaving job titles and working methods intact. This approach is likely to meet less opposition since it cut’s less to what individual contributors care about and identify with. In addition a Kanban system should generate metrics that inform further improvements, for example to working practices. With luck, by this point sufficient buy in will have been achieved to minimise objections.
The second point cuts to one of David’s mantra’s. Exec’s, he asserts, all want the following:
- Business Agility
- Good governance
In addition David likes to emphasise
- Empowerment without loss of control
- Self organisation without fear
Two aspects of David’s approach to applying Kanban appear to contribute a great deal to keeping these promises. The first is an emphasis on metrics. Particularly where an electronic tool is employed a Kanban system can inform a wide variety of management decisions. This is often missing where agile teams rely on a more emotional output from retrospectives. The second aspect is the exposing of policies. Many classes of issues that constrain the performance of development teams can be described as policies. Once de-personalised these can be considered with respect to the risk that they serve to mitigate and the benefit they bring as contrasted to the over-head.
And finally we come to the maturity argument. A high maturity organisation will be able to; make statistically defensible decisions, implement causal analysis and resolution and effectively deploy process improvements.
While a Kanban system will provide a rich set of metrics and enables the application of a great deal of knowledge accrued in the management of pull systems, it’s great strength (from my perspective) is process improvement. A Kanban system will make any mismatch in capacity between specialists visibile. The board can be annotated with information regarding blocking issues. But, best of all, where a blockage occurs the Kanban system will release resources to deal with the constraint.
Given this focus it seems likely that a Kanban approach may appeal to a class of organisation who see little appeal in more developer centric approaches. Kanban offers a tool set for the management of knowledge work. However, while Scrum and XP expose trust and respect as key principles these remain a choice for the manager applying Kanban.