Tying risk models together with class of service

Posted on February 15th, 2011 in Agile, Kanban, Lean by siddharta || 1 Comment

The previous three posts talked about three dimensions of product risk:

Based on the category that a feature falls into, it makes sense to handle it differently. Kanban uses something called a Class of Service to abstract this idea. The concept can be applied in any project – Kanban or Scrum.

At a simple level, class of service is just a bucket or category that you can use to categorize the features. So you might have classes like

Class of service Criteria
Expedite Emergency bug fixes that need to be fixed and deployed in a few days
Fixed Date Features that have a fixed deadline
High Uncertainty Features exposed to market or technical risk. May take a few iterations to get right
Basic Basic features from the Kano model
High Value Differentiating features from the Kano model
Slack Intangible, long term improvements, to be picked up during times of slack
Normal Everything else

These seven classes encapsulate the three dimensions of risk that we talked about in the previous posts.

One advantage of class of service is that it can be coupled with policies to handle different classes in different ways. Policies can be designed in such a way that they are aligned to business expectations. For example, expedited items have a high cost of delay, and need to be deployed as soon as possible. A policy for the expedite class could be something like this:


  • Only for emergency bug fixes
  • Moves to the head of backlog and all queues
  • Can override work in progress limits
  • Team members stop whatever they are working on and swarm to complete this work item

This policy ensures that expedited items are deployed as fast as possible. Similarly, policies can be designed for the other classes to align them with the business.

Class of service can be used to set schedule expectations. Measure the cycle time on work items for each class of service. You will then be able to visualize work items on a statistical process control chart and set expectations on the mean and upper bounds for items in that class. For example, you might find expedited items have a mean of 2 days and an upper bound of 5 days. Whereas the high value class may have a high mean and a more variation between the mean and upper bound. This is useful because it sets the expectation that there could be a lot of variation in certain classes, something that is not conveyed clearly when using single point estimates like days or story points.

Finally, it encourages a risk profile oriented view of the project. If you have too many High Uncertainty work items, then that could be an indication that you might be taking on too much risk. Similarly, you probably want a mix of Basic features with one or two High Value features that tie in with the business’ market strategy.


I’ll be expanding on this idea further in an upcoming webinar on Using Class of Service to Manage Risk. The webinar will happen on the 16th of February, 9:30 PM IST (See time in other timezones). Sign up for the webinar to join the discussion.

Doing Distributed Agile?

Share and collaborate with distributed teams with our electronic agile board tools. Get all the benefits of electronic tools without sacrificing the benefits of physical boards. Supports Scrum taskboards, Kanban boards and user story maps. Check it out!

One Response to “Tying risk models together with class of service”

  1. toolsforagile Says:

    Tying risk models together with class of service – http://toolsforagile.com/blog/archives/6… #agile #kanban #enterprisekanban

Leave a Reply