You’ve got the best performers in your team, yet they falter. You set reasonable deadlines for work to be completed, yet those deadlines are missed. You have tried a variety of collaboration tools and are yet unable to manage team cohesiveness. If these sound familiar to you, then it is time for you to take a step back and look at a different approach that can help you solve these challenges.
More often than not, even the best teams fail to achieve their objectives because of ineffective management approaches. If you are looking at improving efficiency and productivity without disrupting your systems and processes, and other improvement approaches have failed then Kanban might be right for you.
But, how do you determine if Kanban is the right approach? In this article, we provide some guidance. If your work flow meets two or more of the following criteria, then Kanban may be right for you.
Unpredictable/ Unreliable Delivery; Poor Quality of Delivery
Despite a lot of systems and processes in place, it is hard to for teams to deliver work on a consistent and predictable way. If you have tried different approaches to improve your delivery processes and to increase value to your customers and none of them have worked, it’s time to try a different approach.
Kanban does not aim to change your existing structure, or systems and processes. Kanban enables you to improve what is already present, and continuously better the quality and delivery. It aims to reduce lead-time to deliver and improve quality, thus delivering more value to your customer, without disrupting the system.
Kanban is the incremental (evolutionary) approach to visualizing your current processes and focusing on the flow of work through the process. Based on the observed bottlenecks, your teams can start to make changes to the process to eliminate the bottlenecks.
Changing Priorities or Unplanned Work
Customers can have complex and sophisticated requirements that seem to crop up unexpectedly. During these times, you might find your team struggling to deal with the unplanned work, as their regular work is disrupted. They might find it hard to prioritize tasks since they already have work in their pipeline. As a result, you see your team members either spreading themselves thin trying to juggle too many tasks, or losing focus and dropping the ball. Nothing seems to get done, neither the earlier work, nor the new work that just arrived.
Kanban can help in this scenario. If your customers come up with new requests, using the Kanban replenishment process, you can
- In agreement with the customer, add the new work to the top of the queue, giving it top priority with the promise to the customer it will get worked on as soon as capacity is available; or
- Collaborate with your customer to take out something that is currently being worked on and substitute it with the new work. Since the customer agrees to this process beforehand (with policies such as WIP Limits), there is no disagreement on the process!
- Define a separate “Expedited” Lane with a WIP Limit of 1 – that you use to handle Urgent work. The WIP limit communicates to the customer there is only so much urgent work your team can handle at a time; and not every work item can be an Urgent item.
Through this approach, your customer understands that they need to define the priority of work – and be prepared to take something off the table, if needed. Your team can focus on specific tasks, and complete them before taking up something new, thus ensuring delivery of work as per agreement with the customer.
Cross-Functional Collaboration Challenges
It is very typical for work to flow from one function to the next, where each function might be performed by a different person, an expert in that function.
The typical challenge of collaboration between functions is one of hand-off delays. A Developer completes a piece of code, but there is no one available to do Code Review. The code is reviewed and completed but all Testers might be busy testing other stuff. This results in unnecessary delays in handoffs.
Sometimes there is too little work, sometimes too much, leading one or the other function becoming idle.
Kanban is based on Theory of Constraints, where you identify your system’s constraints in terms of it’s ‘weakest’ points – points of least capacity or constraints – and design the system to work with those constraints.
Using a combination of in-progress and ready or done columns which act as buffers, you can balance the amount of work that each function or stage can handle, making sure using WIP limits, that each stage has enough work waiting to be started when a work item is completed and moves to the next stage; while at the same time, making sure that too much work does not pile up – which represents waste as well.
Idle Time across Different Stages of a Workflow
The old 80/20 rule holds true in most of the cases where the team is struggling to manage time. 80% of the time is spent on 20% of the work. Most of the work that gets done seems to be unimportant or ranked lower in the priority list. Team members who are working in the trenches can find it hard to prioritize tasks and end up spending more time on unwanted workload. Often the phrase used to describe the situation is “not just working on the task right, but also working on the right tasks”!
To reduce this work disarray, Kanban can help prioritize tasks. A Kanban system provides two ways to reduce idle time. This is sometimes referred to as the 2-phase commit feature of Kanban systems.
Initially, new work items may collect in the Backlog column, representing options that the customer and the team must select from. While they are in the backlog, the customer has the ability to change their mind on which work to take up next. The team has the flexibility that it is not being measured on lead-time performance for those items (typical challenges of old waterfall styled projects where customers had to commit to “freezing requirements” and delivery teams had to commit to doing everything with upfront estimates and time commitments).
Once an item moves from the Backlog to the Ready column, it is a signal from the customer that they prioritize that work over others – and will be ready to take delivery of it when it is done. They will not discard it (at least typically) once work starts on it since that would be a waste of effort and money. On the team’s side, they now commit to starting work on that item – and they will be measured for lead-time performance that point onwards.
Once work is “Done”, then the customer has the choice to take that work item and consume it immediately – or wait for a few work items to be done before consuming them. Thus, the delivery team no longer gets measured after the “Done” stage. This allows the customer to commit to deploying (or consuming) new work items at their convenience. This is a very typical situation in software delivery where IT may not deploy every release a vendor makes – but only deploy a few of them.
With this decoupled 2-phase process, the Backlog and the Done columns represent infinite buffers, while the Ready queue is a finite (WIP Limited) buffer.
This ensures that once work starts, there is no idle time or tries to minimize the idle time. Defining such a system takes into consideration the difference in the pace at which different functions or stakeholders perform or are ready to take delivery, allowing each to perform to their optimal capacity.
If you have a system where this is a problem, then using a Kanban system with the above characteristics will help tremendously to smoothen the collaboration between customer’s ad delivery teams, and reduce idle time once work has started.
Over-burdening of Team Members
An ideal team is the one that takes up work willingly and enjoys doing it. A team may start out as an ideal one, but it becomes harder for them to sustain that state due to the various problems mentioned earlier. With the help of Kanban, it becomes easy to prioritize work, schedule tasks, and track work. With Kanban, there is an explicit focus on implementing WIP Limits and reducing multitasking.
Team members are encouraged to “Stop Starting! Start Finishing!” Once a workflow is in place with an optimal limit on the number of tasks in the ‘Doing’ column, it is rewarding to ‘pull’ work. A team that is collaborative, time-bound and result-oriented will ‘pull’ and get work done, Kanban enables this transition.
This is a guest post by Mahesh Singh (Co-founder, Sr. Vice President – Product at Digite)