Is Kanban genuinely an alternative path to Agility?
New Zealand has become a hotbed for Agile, especially in the software sector and especially with the use of Scrum. But is there an alternative to the use of Scrum to enable Agility?
Kanban promotes itself as an alternative path to Agility, but is that a fact or just fiction? My experience and view point is based on just over 10 years working with Agile, primarily in NZ organisations.
My Agile life started as a total zealot for Scrum being the only real path to Agility. I viewed Kanban as not much more than a visual management tool for dealing with some of the stuff Scrum struggles with, such as operational challenges that present themselves mid-sprint. Unfortunately though, these operational issues do show themselves mid-sprint and for the majority of organisations they do affect teams and individuals delivering agile projects.
When we get outside of software we also have the dilemma of what to do with recurring work as well as operational outages and last minute exceptional requirements.
Is there a way for an organisation to deliver agility without using Scrum? This is the question I will seek to address.
Scrum has been, and is, very successful in moving organisations away from traditional models of delivering entire projects to a place where value can be delivered incrementally and often. Why is this important? Well for a number of reasons including, but not limited to: customer requirements change often, and whole industries can be disrupted in months as opposed to years.
But how can Kanban deliver agility as successfully as Scrum, or even manage with the areas Scrum sometimes struggles with?
Kanban delivers many of the benefits of Scrum but in different ways. Commitment to do work is deferred until it is decided that it’s the most important work now, and only then does it have the opportunity to enter the Kanban board. The amount of work that enters the Kanban system is controlled by Work in Progress limits and these limits also help unburden people by restricting the amount of work in individual queues or to a lesser point, by restricting WIP per person.
The Kanban board is used to visualise our flow of work and enables us to visualise all our work on the same board potentially; project, operational and recurring. We would typically define our work by services and view a whole flow of work, either across a single team or even multiple teams aggregated. Any policies are made explicit so they are well known and understood. And, we improve collaboratively using feedback loops, using metrics and meetings.
We manage the flow of work using different metrics, but some of the things we are interested in would be:
- Work in progress, for unburdening people.
- Lead time across our flow of work, from commitment to our customer (could be the user/consumer, or our customer could be the next team who work on the service / product). This helps us understand and give some expectations on delivery based on historical and real time data.
- Flow efficiency which helps us understand how efficient or inefficient our flow of work is.
- Throughput which helps us understand the amount of items progressing through our system.
- System bottlenecks which help us understand where work is building up and reducing our flow.
From my experience, these give us benefits that are outside of Scrum, and can be most useful for dealing with all types of work.
Kanban is an approach to improving an organisation's service delivery. Therefore, we take a service-orientated approach, dealing with each service and its interdependence on other services. We manage the organisation allowing each service (each node in the network) to evolve independently through evolutionary change, driven by fit-for-purpose metrics, that model the desired level of service the customers of each service need in order to meet their own needs. The 3 service delivery principals are:
- Focus on the customer
Understand and focus on your customers’ needs and expectations
- Manage the work; let people self-organise around it
- Evolve policies to improve customer and business outcomes
Policies determine the characteristics of your service delivery system; evolve policies so that customer satisfaction and business outcomes improve.
A unique aspect of Kanban, with its service-orientated approach, is its ability to offer different classes of services or risk approaches to the same type of work. We can deal with items that have fixed date delivery, that need immediate expediting, to follow a standard path or items that are intangible by their very nature such as process maturity. All these can be visualised and managed individually within the same flow of work and on the same visual board.
To explain this more simply, if were wanting to travel from one city to another city 300km away, we may have different ‘services’ to do the same trip. We could fly, train, drive or bus, depending on the urgency to get between the locations and the cost of the various options. Our standard approach might be to drive as it is the least expensive, but if we had to get there by a certain time we may choose a train due to it being a little more predictable, if we wanted to take a scenic approach we may take a bus, and if we were told to drop everything and get there quickly at any cost, we could choose to fly. Our work often requires similar policies.
Scrum can be and is very disruptive to an organisation as it requires a completely different mindset and way of working. This can cause a lot of challenges for organisations that are using Agile in pockets and demands the creation of a different way of working, together with new roles etc to be created.
Kanban has a softer effect as there are only 3 change management principles required:
- Start with what you do now and understand current processes, respect current roles, responsibilities and job descriptions.
- Gain agreement to pursue improvement through evolutionary change.
- Encourage acts of leadership at all levels.
This leads us to visualising what we do now and gradually introducing agility, unburdening of people, and predictability. We deliver requirements in full without the need to batch many of them together, we have feedback loops through the use of metrics and meetings, and by the very nature of the team working together on the entire flow we encourage collaboration and experimentation. Therefore, if 3 of our core pillars in agility are transparency, inspection and adaptation, Kanban meets all 3 and more.
From a practical point of view, I have had the pleasure of working with many teams and organisations who are both in the technical landscape, together with teams delivering agricultural services / energy services / logistics, HR /marketing departments, public and private sector and many more. All of these organisations have benefited from Kanban systems.
The benefits of a Kanban system can be summarised as:
- Improved predictability
- Improved service delivery agility - more frequent selection & commitment, more frequent delivery, short lead times
- Improved governance & risk management
- Adaptive capability - the ability to evolve processes & workflows in response to a changing external environment
While there are certainly many approaches, Kanban IS a means to agility - because of its focus on customer and service orientation.