Kanban Classes of Service (CoS) is a highly configurable, versatile way for coping with uncertain and unpredictable situations, as suggested by one of the Kanban method’s founding fathers David Anderson. More precisely, a class of service is a set of policies that help Agile teams prioritize work items and projects.
While managing projects, you have probably experienced the trouble of navigating through changing customer requirements, new stakeholder requests, capacity fluctuations, and countless other surprises that put their successful delivery at risk. If the answer is yes, you know how important it is to prioritize work and minimize risk effectively.
In a Kanban system, a class of service typically determines the priority of a work item or a project (depending on the scale of implementation) and how quickly it will flow across your board. Choosing to introduce Kanban Classes of service allows Agile teams to define service level expectations and establish agreements for each class of service they provide.
This way, they can manage risk by:
Improving the predictability of lead time for high-risk items
Making the process of managing dependencies less difficult
Improving the Predictability of Lead Times
Lead time is the time frame between a customer requesting a service/product and the moment it is delivered. Another essential metric here is “Value-adding time”, or the time your team spends actively working on delivering that service/product. The ratio between value-adding time and the lead time is your flow efficiency (one of the most important Lean Management metrics).Most companies have very low efficiency. You might be surprised to hear that the commonly reported ratio is between one to five percent at the start. This means more than 90 percent of the time required to deliver a project is wasted waiting for something. This greatly increases the risk of delay.
By defining Kanban Classes of Service, agile teams give certain work items or projects more priority than others. In turn, this reduces the waiting times in the workflow for the high-priority items and makes their final delivery more predictable.
For example, think of how airlines treat passengers depending on the type of ticket they’ve bought. The more expensive ticket you purchase, the higher the class of service you get. This comes with various benefits like quicker boarding, more spacious seats, better food, etc.
In this case, each passenger is a work item for the airline. The path from requested to done goes through multiple stages like checking in, onboarding, traveling, etc. When some passengers are qualified for a higher class of service, they spend less time waiting to move through the process and enjoy a better service.
Therefore, the lead time required for them to receive the final deliverable is significantly reduced, and the quality is better than those with the lowest class of service tickets.
Making the Process of Managing Dependencies Less Difficult
Kanban classes of service allow you to manage dependencies according to the cost of delay (CoD) for each project. CoD is the economic impact of failing to deliver your product or service on time or, simply said – the amount of money you will lose by delaying the delivery. By calculating CoD, you can understand the importance of delivering your projects on time.
The logic is simple. When the cost of delay is small, or there’s enough time to start early, there’s no need to manage dependencies explicitly. You can just let them emerge and manage them dynamically.
However, when the CoD is high, you need to plan your capacity in a way that will allow you to start early and complete the project with greater efficiency, even if it results in delaying other projects with lower costs of delay.
To elaborate further into what we’ve laid out so far, let’s dig into the typical Kanban classes of service.
Types of Kanban Classes of Service for Risk Management
Generally, Kanban defines 4 classes of services for risk management:
Let’s explore the processing policies related to each of them and see some examples.
Expedite is the highest Kanban class of service. It is reserved for work items/projects with a critical priority and a very high cost of delay. When something is qualified as an Expedite CoS, it requires 100% devotion from your team.
Work items in this class come with a huge risk for your project. To deal with them, you must leave everything else in progress and allocate all the necessary capacity to deliver them within the service level agreement.
Fixed Delivery Date
The second most important Kanban class of service is dedicated to assignments with a fixed date and a high cost of failing to deliver on time. One example of such an item would be preparing an MVP (minimum viable product) by June 6 that comes with a clause, which allows your customer to pay a lower price if you fail to do so. Another example is the one illustrated in the image below.Projects that qualify for this class require detailed forecasting and careful consideration before committing. We advise you to implement techniques such as Monte Carlo simulations in the process of negotiating the delivery date. They will allow you to run many random simulations based on previous performance to give you probable delivery time frames to minimize the risk of failing to deliver on time.
The majority of tasks in your workflow should qualify as standard. This class of service is reserved for items with a moderate cost of delay, which tolerate long lead time and don’t require much prioritizing. We advise you to process them “first-in-first-out” when pulling them in progress.Please note that when the cost of delay of your projects or tasks is homogeneous, relying on a Standard class of service as a single one is preferred. This is because classes of service usually serve the most important class pretty well, but that’s not true for the least important things.
As a result, some of the low CoS items can take a long time to complete due to higher CoS items' priority overrides. When some of the items take 2 days, but others take 200 days, the probability distribution will be much wider and harm the forecast.
Work items from this class of service can be considered as “chores”. You know you have to complete them, but there’s no rush for processing them right away. Such assignments come with little to no cost of delay and allow very long lead times.
When prioritizing work, intangible tasks must come last. They are the place from which you are most likely to relocate capacity if an Expedite task arrives. Still, it should be noted that if an intangible item remains unprocessed for too long, it may create the environment for generating Expedite class assignments.
Custom Classes of Service
The four Kanban classes of service discussed so far can serve as a guideline, but you are free to define your very own according to risk. For example, in a software development context, it is common to define a 5th class called Bugs, usually placed between the Fixed delivery date and Standard CoS.
Another viable option not limited to IT is proposed by the Lean coach Thorbjørn Sigberg. It is called Urgent, and it is suitable for teams that struggle with decomposing and decoupling work. It allows them to give higher priority to unplanned assignments without expediting them.
He suggests using this CoS for small requests like changing a text on a webpage that would otherwise “drown” in the Standard class. Once again, it should be placed between the Standard class and the Fixed delivery date one.
Still, these are just examples. You can customize classes of service in any way to fit into your context.
Kanban classes of service allow you to minimize risk by improving the predictability of your workflow and managing dependencies easier. Practically, they are sets of policies that guide you and your team when prioritizing new work.
Kanban defines 4 classes of service, but you are free to customize them and add new ones according to your needs.
Expedite - for assignments with the highest cost of delay that don't tolerate the accumulation of lead time
Fixed delivery date - for assignments with a fixed delivery date that have a high cost of delay
Standard - for the majority of assignments with low to medium cost of delay that tolerate longer lead times
Intangible - for assignments with low cost of delay