Kanban popularity is on the rise these days in software development. But why do we want to use it anyways? What would be the goals that anyone would like to set when they embark on this journey of continuous improvement using Kanban. David Anderson summarizes this excellently in the form of 8 goals to aspire for with Kanban:
- Improved performance through process improvements introduced with minimal resistance. Introducing performance improvements with minimal resistance is one of the primary goals of Kanban. Kanban as an evolutionary approach to change management provides the framework necessary to smooth-en the journey of change.
- Deliver with High Quality. Kanban’s mechanism of having definition of done criteria provides an excellent framework to manage quality criteria and gates. The definition of done is an evolving criteria and as process maturity increases, it takes teams on the upward quality journey.
- Deliver a predictable cycle time by controlling the quantity of work-in-progress. Low work-in-process has a direct co-relation with cycle team and it has been observed that lower work-in-process could potentially lead to predictable cycle time. So though the end goal may be predictable cycle time, they way to achieve it is via lowering work-in-process and keeping it within a range.
- Give team members a better life through improved work/life balance. Predictable cycle times provide opportunities for employees to plan their lives in a more humane way. Work Life balance is not just balancing the number of hours in office versus the number of hours in personal pursuits. It’s also about predictability and creating a comfort zone. An employee may want to sign up for his hobby class every Tuesday 6 pm for next 8 weeks, but unless his work life is predictable enough, he/she may not be able to do it.
- Provide slack by balancing demand against throughput. Traditional project management dreads slack and favors “resource leveling “and efficiency, but some slack is good for the system and the individual teams as well. From an organizational perspective, slack can be used to service urgent requests and also provides the necessary bandwidth for process improvements. For individuals and teams, this provides the much needed respite to think beyond their daily chores, the way they have been doing things and explore new possibilities. Though caution must be exercised to ensure the right balance of demand against throughput to have correct slack.
- Provide a simple prioritization mechanism that delays commitment and keeps options open. Prioritization mechanisms have been used in software from a long time. It generally involves categorizing requirements as high, medium, low or must have, might have, can have and can’t have to name a few. For business this is a a painful exercise. Even in the agile world, it’s not easy for a business team to prioritize a long list of requirements on an recurring basis. Kanban provides an opportunity to solve this in a simpler way by focusing on what’s next.
- Provide a transparent scheme for seeing improvement opportunities enabling change to a more collaborative culture that encourages continuous improvement. Transparency is generally targeted in the work requests, artifacts performance. But with Kanban, transparency now going beyond into the process itself provides a great collaborative platform for teams to interact and help each other excel. This helps to build a true culture of continuous improvement.
- A process that will enable predictable results, business agility, good governance and the development of what the Software Engineering Institute calls a “high maturity” organization. All of these goals if really achieved lead the organization to operate at what the Software Engineering Institute defines as Maturity Level 4 on its 5 point scale of capability and maturity in the Capability and Maturity Model Integration (CMMI). Level 4 and 5 on this scale are known as the “high maturity” levels. This is already a goal for many companies but the amount of effort invested in achieving and maintaining it is huge.