Skip to main content

How Do We Actively Manage Items in the Workflow/Items in Progress in Kanban?

January 4, 2024

 

How do we actively manage items in the workflow/items in progress in Kanban?

The second practice in the Kanban Guide is actively managing items in a workflow. These items are work items.

What are work items in progress?

What are work items in progress

Work items in progress are the ones between the “started” point and the “finished” point.

Strike a balance

 

You can have more than one “started” point and more than one “finished point”.

But… let’s keep things simple and imagine we have a definition of workflow with:

  • 1x “started” point; and
  • 1x “finished” point.

Now, imagine there are two active columns between the “started” point and the “finished” point. There are work items in both of those columns.

Those two columns represent steps in the work and how the work gets done.

Kanban system members need to be cognizant of how we strike this balance between finishing work, monitoring work item aging, and avoiding the system from starvation.

A lot of us would dream about the system starving because most of us have problems with the work, eg, too much work in the system.

But when people are so good at finishing items and focusing on work item aging, what can sometimes happen is they forget to feed the system.

If you have two columns in your workflow and you do not feed the first column, what happens is….

  • the first column gets starved; and
  • then the second column will be starved as well; and
  • you go into at least a couple of days there where no work gets done, where we have no throughput in our system.

We need to strike a balance.

For most situations, what you are going to be looking at are two things:

 

  1. Do we have any blocked items in progress? → Do we have items that may be blocked but are not being marked as blocked? (which is another question). We need to look at our blocked policy (if you have a blocked policy) → what do we do when an item is blocked? Do we put a reason code on it? Do we include it in our work-in-progress limits?

In most situations, blocked items are included in the work-in-progress limit, and only in edge case situations would you have a situation where you would exclude blocked items from work-in-progress (eg, we made all the phone calls, we shook all the trees, we’re thinking of canceling one work item and so we put traffic cones around it and we allow another item in.)

That’s an edge case.

In most scenarios work-in-progress includes blocked items. So when we are actively managing the work, we are trying to unblock blocked work. That means we need to do some work to unblock. There is effort involved in unblocking items. There is no shortage of other work items that need to be done.

Often the temptation is to start another item, or to work on another item, and leave that blocked item age further and further. The problem with items aging is eventually when they get to the finish point, they would have clocked up a cycle time and we are going to have a problem. If that happens frequently i.e. if we have a pattern of elongating cycle times, eventually we could see a situation where our throughput will drop also. This could potentially mean we are reducing the number of outcomes we are getting for our customers, end-users, and the organization as well.

With blocked items, it is almost like there is a fire in the building. If something is blocked, we need to unblock it. We need to have a sense of urgency about unblocking that work because we want to finish work. In Kanban, whatever prioritization approach you might use for putting work into the workflow (moving work past the starting point, once the work has started), we want to finish the item. This is because, a lot of the items in your workflow, at the start of the workflow, are bets in essence. We do not know how valuable they are until we get some response from the customers, end-users, the market, the organization, and whoever is going to give us that feedback.

So trying to get work to the finish point as quickly as possible is essentially the objective.

Keep an eye on work item aging

2. Keep an eye on work item aging → remember, we are trying to achieve balance as well. We are trying to balance effectiveness, efficiency, and predictability. So while we want to finish items, we want to keep an eye on work item aging, and we also have to keep an eye as well on the work coming in.

If, for example, the flow of knowledge work was like the flow of water (it’s not).. but if it was, imagine if there were six liters/gallons of water going out at the end of the pipe, you would not have 2 liters of water coming in unless you were trying to bleed down the system (where there was already too much work in the system).

You would try to have some balance.

Equally, you would not have 40 liters/gallons coming in with the 6 gallons coming out the other end. So we try to achieve some balance where the system does not starve. Blocked items need to be unblocked.

Look at relatively aged items

In addition, we need to look at relatively aged items.

There are several ways you can do this.

Looka t relatively aged items

You can put real banana skins on top of post-its and see, over several days, the banana skin going blacker and blacker because it is aging. This is a great visual way to see how an item is not getting finished. If you are in a situation where your work items last longer than a few days, even a few weeks, then you might need something better than banana skins, because those banana skins are going to look pretty awful.

Maybe we should be trying to have smaller items in a few days anyway, but leave that to another discussion.

So what we should do is look at the items that are in progress, maybe there is an item in the very first column that is the same age as an item in the second column. Remember we have two columns that are active between our “started” and our “finished” point.

Maybe they are the same if there are two items of the same age. There can be a temptation to continue the one you are working on, which is on the rightmost column that is closest to the “finished” point. To keep working on that, might be the right thing to do. However, purely from a relative aging point of view, you would be saying, “that item in the first column is the same age, but given that it is a previous step in the process, it means that it is relatively older than the item of the same age in the follow-up column”. So, a good decision there might be to focus on the one with the same age in the earlier column.

Some tools, for example, Actionable Agile does a wonderful item aging chart which is really good. It shows in different colors the relative ages of the item based on previous performance.

  • What were our cycle times before and are these items in progress?
  • How are they tracking against previous cycle times for these items?
actively managing items in the workflow

So looking at relative item aging, looking at unblocking items, also looking at, whether there is anything else that we need to do to improve the flow.

In Kanban guide, we do not specify anything about classes of service, for example. We try not to give preferential treatment between one item and another (apart from relative item age and blocking).

Value might be a:

  • consideration; or
  • urgency; or
  • relative effort

…considering it might be a consideration further down your pull or move policy in terms of which item should you work on next.

For relative item aging, actively unblocking blocked work. If you are really looking after your flow and you want to optimize your flow, that would be a better approach for managing items in your workflow. Generally speaking, what you should do is try to get items once they have started. Try to get them finished as quickly as possible.

get started items finished

That might include getting them canceled as quickly as possible as well. So often I see people putting items in progress, and then they are on hold. Everybody knows they are on hold, and nobody is brave enough to just cancel them, because actually, we know we are not going to finish this work.

So let us be transparent about it and just cancel the work. Get to “finished”.

You can mark it as canceled so it does not throw up a false throughput number. You can filter out the items that are canceled from your throughput number.

What we do not want is items moving backward unless we have decided, we should never have started this item in the first place. What were we thinking in bringing this item in? It should go back to the very, very start of the board.

That is my knowledge of active management of work in progress.

Thank you.


What did you think about this post?