Learn to use Visual Studio, Visual Studio Online, Application Insights and Team Foundation Server to decrease rework, increase transparency into your application and increase the rate at which you can ship high quality software throughout the application lifecycle

TFS Kanban board Swim lane customization walk through

While Tarun couldn’t attend the MVP Summit in person (having just gotten married it didn’t seem the most prudent use of his vacation time<g>); he was definitely well missed and more importantly put the time to good use and added another post to the MVP Blog series. Tarun, hopefully we will see you next year!

Brian Harry announced the customize columns feature on the TFS Kanban board that enables you to define new swim lanes based on the work item state right from Team Web Access. This feature has officially been released on the TFS Service today. A shout out to Gregg Boer and his team for delivering this great feature! I was lucky to get early access to this feature…

In this blog post I’ll show you,

Walkthrough of customizing columns on the Kanban board

How customize column feature has transformed the way my customer* has been doing IT demand management using excel files

* In this blog post, I’ll refer to my customer as Fabrikam Fiber.

Current State

Demand Management @ Fabrikam Fiber is currently done using MS Excel. The demand management excel sheet is used to track the delivery state of the IT projects in flight and various other requests in the backlog that have the potential to become independent IT projects.

Figure 1 - The Demand Management excel sheet is currently used to track 170 items

Fabrikam Fiber uses the below shown workflow to access the scope, time, money and value for any item added to the demand management sheet.

Figure 2 - The workflow to manage any item added to the demand management excel sheet

Drawbacks with the current approach,

No visual representation of demand

No audit trail of changes

Hard to track actions

Too much of manual work to manage the excel sheet

The Transformation

Step 1 - Load Product Backlog into Team Project

Create a new team project on the companies team project collection and call is ‘Fabrikam Demand Management’.

Upload the contents of the demand management excel sheet to the brand new team project. This can easily be done using the excel integration that TFS provides.

Figure 4 - Migrate the demand items from MS excel to the new team project Demand Management

Step 2 - Customize the Swim lanes in the Kanban board

While in the backlog view, click on the board tab to navigate to the Kanban board view. By default you will see all the newly entered product backlog items or bugs in this view. Refer to the screen shot below.

Figure 5 - A first look at the Kanban board after the product backlog has been loaded into Fiberkam Demand Management Project

Now click on the Customize Column link on the left side corner in the Kanban board. You will see the Customize Column window. This window will show you the current swim lane configuration for Bug and Product Backlog Type work items. As you can see any bug or product backlog item in the new state will be assigned to the new swim lane because of this configuration. similarly for approved, committed and done states. You also have the ability to customize the work in progress limit on each of these swim lanes. If the swim lane has more work items assigned than the prescribed limit, the swim lane header turns red to show this violation. This gives you the ability to control the amount of work assigned to a state. By clicking on the ‘+’ icon you can introduce one or more swim lanes.

Figure 6 - First look at the customize column window

Why would I want to add more swim lanes?

In Fabrikam Fiber a work item stays in the approved state during its journey in the workflow from Discovery => Investment Return Investigation and only gets committed to once it has successfully passed through these states. By only having one approved swim lane, it is very difficult to track the progress of the work item from Discovery => Investment Return Investigation.

An approved work item goes through the discovery phase and investment return investigation phase, the company does not encourage more than 5 items in discovery and 10 items in investment return investigation phase. It is possible that an approved work item may be put on hold, the company does not encourage more than 1 item on hold.

A work item in the committed state goes through the to be scheduled phase and in delivery phase, the company does not encourage more than 5 items in the to be scheduled phase and 15 items in the delivery phase.

Figure 9 - Newly configured swim lanes on the Kanban board

Notice that the Hold swim lane has a red header because the number of items assigned to this swim lane are more than the prescribed wip limit configured by you in the customize configuration window.

As you drag and drop items from a swim lane, the work item gets updated in the background. For example in the screen shot below, when I move the first work item from the ‘Investment Return Investigation’ swim lane to the ‘To Be Scheduled’ swim lane, the work item state gets updated from Approved to Committed.

Figure 11 - Dragging the work item between swim lanes updates the fields and if applicable the work item state

Figure 12 - Work Item History showing the change in state from Approved to Committed and Audit trail of changes to the Kanban Swim lane

If a work item in the Committed state is assigned back to the Approved state, it is by default assigned to the first field in that state. In our case this would be Discovery.

Figure 13 - Change the State of work item from Committed to Approved

Visualize the work item swim lane flow using the cumulative flow graph

Visual representation of backlog, easy to spot the bottle necks in the workflow

Audit trail of changes to backlog, records change at state and fields

Very easy to track actions, using the notification module in TFS, it is easy to set up alerts to be notified upon changes to work items

Easy to customize swim lanes, no manual work required to administer the board

Frequently Asked Questions

1. How does the work item remember which swim lane it belongs to?

This information is stored in fields in a work item. These fields are not visible on the work item form.

2. Can I use a WIQ to query a work item by field?

No, the work item cannot be queried by its field. The field information is not stored in the TFS warehouse. You can however query this information using the TFS API.

3. What would happen to the work items in the swim lane, if I re-customize that swim lane in the customize column window in the Kanban board

The work item gets re-assigned to the first field in the state the work item currently belongs to. So for example, in case of Fabrikam Fiber, if you removed the Investment Return Investigation swim lane, all work items currently in this swim lane would be reassigned to the swim lane Discovery which is the first swim lane in the Approved state.

4. Can I have multiple columns with the same name in different work item states

No, the names need to be unique.

5. What is the default limit of the new swim lane?

Only 20 items show up in the new swim lane at any given time. You will have to change the priority of a work item in the product backlog for it to show up in the swim lane if it is placed > 20 in the product backlog.

6. Can I change the priority of an item by dragging it over the other in the Kanban board?

No, this can be done from the product backlog view.

About Tarun Arora:

Tarun Arora is a Microsoft Certified professional developer for Enterprise Applications. He has extensively traveled around the world gaining experience learning and working in culturally diverse teams. Tarun has over 6 years of experience developing 'Energy Trading & Risk Management' solutions for leading Trading & Banking Enterprises. His passion for technology has earned him the Microsoft Community Contributor and Microsoft MVP Award.

I love the progress of this tool. However I think you use the term "swim lane" a bit diffently than the rest of the Kanban community. What you refer to as swim lanes are normally called just columns in Kanban. In my opinion a swim lane would be more like a horizontal row on the board. And it could be used to visualize different teams or an urgent lane,. Or even to display different products on the same board. I would love for this tool to align with the rest of the Kanban community, and also to include what the rest of us call swim lanes. This article show a swim lane in picture: availagility.co.uk/.../kanban-and-tragedy-of-the-commons The rest of the article is on a different matter. However I would love to see both "queues" and "classes of services" in TFS as well.

Dave Mitchell

7 Mar 2013 8:38 AM

How can I change the default limit of the swim lane? We usually have anywhere from 50-100 items in each lane? Is there some xml file I can change like I could on the task board?

I am worried that this functionality in update 2 will break my team's custom settings. I have modified the workflow states of the PBI work item type and the xml the web access uses via witadmin to create the columns on the virtual board for my team in Update 1. Will this update cause issues with the custom changes I have made?

How to restrict the kanban board view related to only team in kanban board tfs 2012?

Gregory Eppel

11 Dec 2013 10:16 AM

Do you know if it possible to customize the columns for all the teams at once?

We have a large number of teams in a single Team Project and have significantly changed the states of the Product Backlog Item so the board right now has to be customized for every team before it will work.

Jeff

24 Mar 2014 6:36 PM

This is miss-guided information about Kanban. Kanban is not a board, it's a method for one thing. The limitation of this board and its aspect of Swim Lanes does not enable the Kanban process and therefore renders this feature useless in terms of Kanban; "Kanban - all work is to be visualised up." Calling this board Kanban only 'muddies the water' of what Kanban is! Its not about Software Development or Project Management; its about introducing change to an already existing process. Lets just call it a task board! Labelling a Method to a board that cannot truly enable the 'Methods process' only creates confusion. There is no mention of the Developers interaction or training with the Kanban Community? If people want clarification - See www.djaa.com.

Scott M Weeklund

27 Aug 2014 9:19 AM

When will this feature be available in a sprint backlog for tasks? AND - when will bugs be an item shown in the sprint board when added to the sprint (iteration)? Right now - only tasks and as we all know, we are not just working on or burning down tasks in a sprint. These would be great things to add!

Phillip Ring

25 Sep 2014 1:51 PM

Is there any way to do this for the Sprint board? Right now there are only "To Do", "In Progress", and "Done".

Mikaela

9 Dec 2014 12:52 AM

Great article! This feature in TFS just keeps improving. I miss being able to query the custom columns though. For now I like it as nice complement to the task board for a more overall view, but not quite yet a complete kanban tool. As a few already have pointed out it misses features like (horizontal) swim lanes, classes of service and more freedom to customize the view for me to be able to use it as a complete kanban tool. Keep up the good work and keep improving this view! :)