TFS Kanban board Swim lane customization walk through

TFS Kanban board Swim lane customization walk through

Rate This
  • Comments 11

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!

 

******TFS Kanban Board Swim lane Customization To Better Manage The Product Backlog by Tarun Arora**************

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.

SNAGHTML5fd4f18

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.  

image

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

Drawbacks with the current approach,

  1. No visual representation of demand
  2. No audit trail of changes
  3. Hard to track actions
  4. 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’.

image

Figure 3 - Create a new team project and call it 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.

SNAGHTML6348d8f

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.

SNAGHTML1c1ca3a

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.

SNAGHTML1c58bd3

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.

 

image

Figure 7 - Translating the Fabrikam Demand Workflow into swim lane configuration
  • 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.

SNAGHTML7acf9ff

Figure 8 - Configure swim lanes as per Fabriams workflow specification

Click OK to be route back to the Kanban board with the newly configured swim lanes.

SNAGHTML1fa84c3

Figure 9 - Newly configured swim lanes on the Kanban board

SNAGHTML7c449d4

Figure 10 - Product backlog items assigned to the customized swim lanes

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.

SNAGHTML7dc9130

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

SNAGHTML7e19314

SNAGHTML1fcd2c3

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.

SNAGHTML7f11609

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

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

SNAGHTML7fa34b0

Figure 14 - Visualize the work item swim lane flow on the cumulative flow graph

Advantages of the new approach,

  1. Effortless configuration of the swim lanes on the Kanban board
  2. Visual representation of backlog, easy to spot the bottle necks in the workflow
  3. Audit trail of changes to backlog, records change at state and fields
  4. 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
  5. 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:

c3376fc3d761ee535d9dd301df20214d[1]

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.

Leave a Comment
  • Please add 1 and 5 and type the answer here:
  • Post
  • 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.

  • 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?

    <IterationBacklog workItemCountLimit="800">

    . . .

     </IterationBacklog>

    technet.microsoft.com/.../hh739066.aspx

  • Hi Tarun,

    I will agree to Roy's Post - swimlanes are something completely different in kanban.

    (by the way - real HORIZONTAL swimlanes on the board were awesome!)

    The step towards customization is nice but not very useful for a kanban driven company

    There are the following obstacles to use this board view:

    * the impossibility to filter the board (area path, Iteration, user)

    * the restriction that only 20 items are displayed

    * that it is not possible to really use the new "Kanban Column" (forms, queries, etc.)

    So it is nice but not really usable.

    We will continue to use our physical board...

    Bye,

    Andi

  • Hi and thanks for your article. Only one question: is this feature available for Team Foundation SERVER 2012?

    Thanks in advance!

  • @Santiago It's in Update 2 (currently in CTP 4)

  • 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?  

  • Is this available in TFS Server 2010 and how can I make this happen if not the same functionality

  • I tried to create new PBI states to query on the new columns, but the new states didn't appear on the column dropdown list. More datails at social.msdn.microsoft.com/.../be7d9b62-2908-4e86-a961-d4da8b42d11a

    Is there a way to do that?

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

  • 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.

  • 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.

Page 1 of 1 (11 items)