Kanban - Lean Take on Agile Software Development
Our summary and key takeaways
Thinking of Kanban as a lean approach to software development made the author of this article think that Kanban in fact means a number of things. From the original, Japanese word for a signal card, via the – almost 50 years old - signalling system of lean production to the most recent one – a Kanban system for software development.
Who should be interested?
There are a couple of common cases in which Kanban is the best way to go. Here are some of them, as described by an editor of Crisp – Lean and Agile coaching website:
- Having practiced Scrum for software development for a long time and looking for further improvement
- Working with ever-changing priorities and demand shifts
- Expressing no appreciation of iterative, time-boxed approaches
- Spending to much resources on planning and estimation
So - what is Kanban?
Kanban is a task management method based on a few simple rules:
visualization of workflow + limiting the Work in Progress + measuring the lead time.
By lead time we understand the time it takes to complete a task (from an initial request to its delivery). The tasks get visualized on a board, in columns representing the stages of the process, and are being moved as they progress through the system.
- Ability to easily identify bottlenecks, and therefore work towards their removal and optimizing the process, so that they stop occurring
- Facilitation of a gradual, evolutionary change, rather than bringing change by revolution
- Allows companies to go Agile, without having to work in time-boxed iterations
- Potential of natural spreading of the method to other departments, increasing transparency of the entire organization
Bringing Kanban in
This is the best part of starting to do Kanban – you can actually begin with your current process, with no changes at all, but by simply visualizing it on a board. All the necessary rules that follow (WIP limits and measuring performance) will come gradually on.
Common Kanban myths
- Kanban forbids iterations - in fact it's up to you, it's an option
- Kanban forbids estimation - in truth this also is up to you, if it helps the process, do it
- Kanban is better than all other Agile methods - of course, “best” means most suitable to your specific needs, there are no perfect tools
- Kanban is a replacement for other Agile methods - Kanban doesn't necessarily do what the other tools do, it certainly manages workflow. However, as opposed to all other methods, it facilitates change, and henceforth can be thought of as generally different.
Who uses it?
Eve though the new Kanban has been optimized for software development teams, it has since spread into all industries, and can be currently met in areas of all business activity. From HR, marketing, sales, finance, design to production. No reason why you shouldn't give it a go too.