Kanban in Action: a Great Experience
Join the DZone community and get the full member experience.Join For Free
coming from projects primarily conducted in the classic waterfall style – sometimes combined with some aspects of scrum – i was really curious about learning more about the usage of kanban.
to provide a really qualified insight into kanban, comsysto arranged a 2-day training with klaus leopold, a renowned kanban specialist.
the questions we participants sought to be answered were: what is kanban, and how can we use it to support our work?
kanban was originally invented in japan. david anderson, inspired by a visit to the emperor’s garden in tokyo, adopted the system used at the entrance for knowledge work.
instead of giving us an unflexible set of rules to be followed, kanban is more like a certain view of the world and a way to deal with necessary changes.
the main idea is that improvement can be achieved through evolutionary changes. there is not a predefined optimal way for this. rather, the process of change always starts from the given circumstances of the current situation. this means that what is there right now first needs to be accepted, and change takes place in little, continuous and dynamic steps that can be adjusted any time.
depending on the perspective needed kanban can also be implemented at any hierarchical level, so called flight levels. it always supports showing possible disaffections of the involved people and also discovering dissonances in the workflow.
four principles, six practices
kanban is characterized by four principles that are attended with six practices. the four principles are:
1) start with what you do now
kanban always starts from the given circumstances, structures and processes of the current situation.
2) agree to pursue incremental, evolutionary change
improvements are made with continuous, incremental and evolutionary changes in little, dynamic steps.
3) respect the current process, roles, responsibilities & titles
this is directly connected with starting from the given structures and will reduce possible initial fears that come along with any change process.
4) encourage leadership at all levels
anybody who is involved should be encouraged to pay attention to the change process and to act in a responsible way.
since these 4 principles are quite abstract they are accompanied by 6 practices:
visualizing the flow of (knowledge) work is the key to understanding the process of work. a common tool to do this is a card wall with cards, columns and, if necessary, swim lanes.
the single tasks of work are briefly described on a card and each card is placed in a certain column. each column represents a certain state of the workflow.
2) limit wip (work in progress)
kanban is implemented as a pull system on the workflow or at least on parts of it.
to ensure that there won’t be too many tasks to be worked on at the same time (which could make the whole workflow collapse), it is a effective to limit the amount of concurrent tasks per column or even for the whole system.
a task can only move to the next state (column) if it does not exceed the given number of elements in the new column set by the wip. in contrast to scrum, where the amount of work in progress is limited by the duration of the sprint, kanban allows limitation if it is needed, but it is not mandatory.
3) manage flow
monitor, measure and report the flow through each state of the workflow, e.g. by using various kinds of charts and metrics, such as a cumulative flow diagram (cfd), work in progress (wip), control charts for velocity etc. any kind of changes to the system can easily and quickly be evaluated.
4) make policies explicit
to improve a process it is necessary to have a common, clear and explicit understanding of how things work and how work is done. with this understanding, discussions about possible changes become more objective and rational.
5) implement feedback loops
to enable evolutionary change and to react quickly on any kinds of irritation during the workflow, it is critical to establish processes reviewing the work and the flows of work at various levels. this is supported e.g. by the charts and metrics that are used in step 3).
6) improve collaboratively, evolve experimentally
kanban provides a way to change things in a smooth way by using little, continuous and dynamic steps. the shared, explicit understanding of work makes it way easier to suggest possible changes which can be agreed on by consenus.
know the value of your work
kanban is also oriented towards the value flow of a process. this means that even if it is important to have flow of work as constant as possible and to avoid any waste (e.g. too many blockades), it is still the value of a task that tips the scale. therefore with kanban it’s allowed to change the given prioritization of a column as soon as a new task is pulled into it.
this is wonderfully described by: “stop starting – start finishing”.
usually the tasks are treated differently due to specific requirements.
high priority. if needed, all team members work on this task and stop working on their actual tasks.
2) fixed date
the tasks should be planned such that they are taken live quite close to the due date.
the value of the tasks is not clear yet. they are treated with lower priority.
anything else. individual rules are possible.
very often these principles and practices are implemented by using a kanban board which looks very familiar to people working with scrum. since scrum works with more regulations than kanban, the scrum board seems to be a subtype of the kanban board.
during the training we were introduced to a visualization of kanban by playing “getkanban”, which is a really joyful simulation of a business workflow designed as a board game that gave us a quick glance at kanban’s main characterictics.
unfortunately the structure of a kanban board was explained after we played the game. i personally would have appreciated the explanation before the game:
during the two days of the course we went step by step through all the main ideas of kanban. in the end we formed groups and build up example kanban boards for each hierarchical level:
and as you can see from the photos, also the seminar’s agenda was designed as a simple kanban board:
it is great to see how much and how playfully one can learn in two days about a method like kanban, which seems to be very abstract at first sight.
kanban is really useful and supporting if used the way it’s supposed to be. so it should be given a try in each of our projects. some of our colleagues already launched it successfully at the projects they currently work for.
but what i really like most is that kanban is a great support also for everyday’s live – by helping us organizing activities we tend to postpone.
Published at DZone with permission of Comsysto Gmbh, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
The Dark Side of DevSecOps and Why We Need Governance Engineering
Grow Your Skills With Low-Code Automation Tools
Performance Comparison — Thread Pool vs. Virtual Threads (Project Loom) In Spring Boot Applications
Building the World's Most Resilient To-Do List Application With Node.js, K8s, and Distributed SQL