Achieving Kaizen by using Kanban effectively
What is Kanban?
Kanban was a system developed by the Japanese to reduce the idle time in any process. Kanban is a system for managing tasks by continual delivery without overburdening the team. Lot's of organizations across different sectors are embracing Kanban processes to improve the rate of delivery of products and workloads. However, many of them struggle through random use of the process and constantly fail to deliver continuous value or increased speed.
In this article, I describe some methods and tricks that will help you manage your Kanban process effectively and truly achieve high throughput in your workloads. Reaching Kaizen is hard and the methods in this article are turnkey for you to change the way your teams work. The system of use, I describe here can be applied not only to your team workloads but also for your own personal Getting Things Done goals. These methods do not apply to a typical manufacturing assembly line but are more written towards running projects through use of software.
For some parts of this article, I assume that you are using or have access to a software like Atlassian JIRA. If you aren't nothing to worry, you can adapt the principles to any other software you use.
Foundations of Kanban
The most important goal of Kanban is that - At any given time, a team should only be working on the most important tasks. Additionally, the team should know the next most important task to work on, after the current one is complete. In order to achieve that, follow these principles and guidelines for effectively triaging the tasks in your team's workload.
- A single task can only ever be worked on by a single person at any given time.
- A person may only ever have a single task in progress at any given time.
- A task may never be In Progress, if no one within or outside the team is actively working on it.
- A well managed Kanban typically starts with a backlog of tasks that are prioritized by due date, priority and last updated date. This allows the most important tasks to stay on top at all times. Prioritizing by the last updated date along with others provides you a view into which task was touched, dated or commented on more recently.
A. Trade-In
A trade-in usually occurs when another task of higher priority is introduced in between other In Progress tasks. When this happens, first, a determination must be made if the current work in progress needs to stop. This may be done by having an internal discussion with the team and with the stakeholders.
Such introduction of high priority tasks are called exceptions or DoItNow tasks and often disrupt the flow of work. They usually force the current work to stop. It results in what is known as a Trade-In.
Use DoItNow tasks sparingly and only when there are true emergencies. Treat them as exceptions only. Having too many of them is an indication of bad planning and can be resolved by working with your stakeholders in helping them plan better or estimate effort better.
Parts of Trade-in
A trade in has two parts:
- Traded-in task: A traded in task is the new task that must replace and existing task in progress.
- Traded-out task: A traded out task is the old task that must be stopped, moved to TO DO and a due date for it must be re-planned.
B. Re-planning
Re-planning is usually required when:
- a task was traded in
- a task is overdue and can no longer be completed by the original planned due date.
When you re-plan tasks its important to communicate the status and the new planned date with your customers and stakeholders transparently. A roadmap view may be developed that shows a high level view of progress of your tasks. Use meaningful labels like show-on-roadmap to pick and choose which items your customers / stakeholders can see.
When you are putting due dates on a task, a reasonable estimate of the team capacity must be used to determine the feasibility. Planning with capacity in mind will prevent your team from sky is falling syndrome, which typically results in too many tasks that are DoItNow.
C. WaitingFor:
Not all tasks can be completed without waiting for another person or group. When a task being worked on can no longer be moved to RESOLVED or CLOSED without someone else working on it, then label that task as WaitingFor indicating someone else needs to work on it.
Rules of assignment
Use the following rules to determine the best assignment strategy for a task that needs to wait.
- if the task requiring wait can be worked on by someone else on the team, then, label the task WaitingFor and assign it to that person.
- if the task requiring wait can be worked on by someone else on the team, but that person is currently busy working on another task, then label it as WaitingFor, assign it to that person and moved it to TO DO state.
- if the task requiring wait is a DoItNow task, immdiately assign it to another person in the team. It results in a Trade-in and a subsequent Re-plan of the traded-out task, following the rules of Trade-in and Re-plan.
Ideally, if a task can be worked on by someone within the team, it will never land in WaitingFor, for the most part. This is because every member of the team should be equally knowledgeable on all aspects of the product or workload. It means that original assignee may be able to take a task from start to finish without waiting for someone else.
-
if the task cannot be assigned to anyone within the team, then label it using the following rules to indicate, clearly who it is waiting for:
- add a label WaitingFor
- add a label with the name of the individual from the external team who needs to work on it. e.g. Ashish
- if external wait is not an individual but a group, add a label with the name of the external group responsible for if. e.g. ModellingGroup
As you, move the tasks around in different states, these labels may need to be constantly cleaned up and maintained current.
D. Upcoming & Next Week:
Knowing what tasks are upcoming and due in upcoming days and next week is important for continuous planning and effective stakeholder communication. It also indicates the next most important priorities the team must work on after they are done with the current task. Effective Kanban should always have placeholders for such tasks.
E. Backlog
These are normal list of things / tasks your team needs to work on, now or later. It all starts here.
If you are using a software like Atlassian JIRA, you should create horizontal swim lanes with filters that bucket tasks under appropriate lanes.
Key terms and constructs
In the methods I describe in the section The Mechanics, the following key terms and constructs are centerpiece. Use a combination of these to manage your backlog effectively.
Type of tasks
Tasks may be one of the following types:
- Normal: Tasks that have been planned or unplanned and that is not Critical.
- Overdue: A tasks is overdue when the due date has passed. If a task is overdue, there are two things that can happen:
- Replan - using rules of Replanning. A new due date may be set.
- DoItNow - converts it to an emergency task with Priority=Critical.
- Upcoming: These are tasks that you should have in your hind sight so you know what's coming. Typically, due dates in the next two days.
- Next Week: Knowing what is next, tasks that are due next week for effective re-planning or assignment.
- Waiting For: Tasks with label WaitingFor
Use of Labels
Labels are extremely important in managing your kanban effectively. Use labels to group items in swim lanes, to indicate you are waiting for someone to complete their step etc. I suggest you use atleast the following labels to plan your workload:
- DoItNow: When this label is combined with Priority=Critical a task may be classified as emergency task that must be worked on right away. It will result in a Trade-in
- WaitingFor: Use this label when the tasks needs to wait for something or someone. Refer the section Waiting For for some rules around use of this label.
- show-on-roadmap (optional): It is a good idea to show your stakeholders a simple dashboard ordered by due dates for them to view and monitor the progress of your workload / product. Use this label to indicate items that you would like to show up on that dashboard. For items that you put this label on, ensure that the card summary is simple enough such that general audience can understand.
Note: Labels are case sensitive.
Use of Priority
If a Kanban team operated smoothly, then mostly they will be working in non-emergency mode and priority will drive what the team works on at any given time.
There are four different types of priorities described below. Use your judgment along with the guidelines below to classify your tasks real priority, so that the most important one are on the top. You can master continual delivery if you master the art of prioritizing your workload effectively.
- Critical: Use this for designating emergency tasks. Combine it with label DoItNow to move it to immediate swim lane.
- High: A task that provides high business value to your product or stakebolders.
- Medium: Neither a high nor a low
- Low: Ask this question - if right now was the only time you had before your customers are unhappy, would you work on this task? If you answer No, then mark this task as Low.
Criticality / priority is relative, so use the least important task and most important tasks to bucket and prioritize any new task that you add to the backlog.
Use of Components
Use Components to classify types of activities. Some examples are:
- Customer Success: Any task that is directly related to the upcoming use cases / projects for your customers.
- Customer Onboarding: Tasks related to customer onboarding or customer journey
- Customer Support: Any task that is related to customer support, inquiries or engagement
These are guidelines and may differ from team to team. Use your best judgment as applicable to create these classifications.
Components are natively available in Atlassian JIRA, for other products, you can replace it to the most closely available construct.
Mechanics of Kanban
Reaching a Kaizen state requires discipline. In the book Good to great, Jim Collins emphasizes on the idea of discipline:
- Disciplined Thought: means getting the right people and keeping them focused on excellence.
- Disciplined People: means being honest about facts and avoid getting sidetracked
- Disciplined Action: means understanding what is important to achieve and what isn't.
For you to be successful in your journey with Kanban, you and your team should embrace the following discipline around the mechanics of Kanban to achieve the Kaizen state of operation.
Writing Tasks / Stories Effectively
A lot depends on the way you write, manage and prioritize the tasks or stories you create in your backlog. The crispness of the desired goal of the tasks is crucial to completing and planning your workload effectively.
When you create a task, start with the a reasonable sense of priority for that task or story. Set the Priority to that desired starting priority.
Put a due date i.e. "your desired date" on the story. On a Kanban review standup, ask the team about the best possible date it can be accomplished with given capacity and granted everything else that is being worked on currently.
Use Priority=Critical for true emergencies in combination with the label DoItNow. Review the rules of labeling for more details
Write crisp task summaries
Use a short crisp sentence that states the purpose of the task.
Few examples are:
- Make the quick brown fox jump over the lazy dog
- Provide access to login to the application
- Buy the HUD glasses for grandma's new eyewear
Summary should be the next action that can be clearly understood by a non technical audience.
Not all tasks can be written this way, but most of can be. Force yourself to do better everyday in writing better summaries to make solving them easier. A summary should drive you to the immediate next action you must take to complete that task.
Meaningful descriptions
Descriptions of a task are very critical. It should clearly state the answer to the following question:
- When this task is done, what should me or my customer be able to do?
Commenting is crucial
Diligently commenting is the single most important requirements of effective kanban. All members must always update a task they are working on with frequent comments. Not sure what to comment, use the following guidelines or ask these questions to determine when and what to comment on the task in question:
- Did you have an idea regarding the task? Write it down.
- Received new information?
- You thought of paths or workarounds?
- Is there an impediment?
- Was there a follow up done?
- Did you receive information in email regarding this task?
- Want others to know or participate? Annotate humans
- Have code or screenshots that aid the task?
- Does the task required re-planning? Comment about it with the reason.
- If the task needs to wait to others outside the team, then comment the follow up date and when the date next follow up will be done.
When you write a comment, write it with the mindset that:
If you were going on vacation tomorrow, what would you want your backup to know.
Commenting is an Art. You and your team can greatly benefit from the advantages of it if you learn to harness its power effectively.
Resolving and closing tasks
You should only move a task to RESOLVED when no more work is required to be done on the task not even 1 minute. Resolving a task quicker is a desire, but resolving without asking the question - Is there anymore work on this required?, and answering No is a myth and you should stay away from it.
When to close?
When all stakeholders have confirmed the resolution; only then a task may be marked as CLOSED.
Ask your stakeholders to use comments to acknowledge the resolution and their agreement to close.
When to reopen?
A closed task may be REOPENED and set to TO DO if the previous resolution was unsatisfactory. This should be rare if you follow all the procedures previously described. A REOPENED task should be planned just like any new task.
Transitioning tasks
When you transition tasks from one state to another or hand over tasks to each other, you should use labels to move the tasks to the appropriate swim lanes (see below). For instance, if the task is no longer Critical or DoItNow then you should remove the DoItNow label and change the priority so that it can be returned back to the normal processing swim lane.
If you setup your Kanban right, your view of the tasks should look something like below:
Remember, it is possible to reach a level of efficiency where your team will never have tasks aging beyond the deadlines. If you use the techniques I described above, you will be able to reach to the state of continuous improvement and Kaizen in no time.
Subscribe to An engineer, a mechanic and a big dreamer
Get the latest posts delivered right to your inbox