Backlogs display work items as a list, while boards display them as cards. In TFS, each backlog comes with its own board. The backlog board is also known as a Kanban board. To maximize a team's ability to consistently deliver high-quality software, Kanban emphasizes two main practices. The first, visualize the flow of work, requires that you map your team's workflow stages and configure your Kanban board to reflect this. The second, constrain the amount of work in progress, requires you to set work-in-progress (WIP) limits. You're then ready to track progress on your Kanban board and monitor key metrics to reduce lead or cycle time.
Your Kanban board turns your backlog into an interactive signboard, providing a visual flow of work. As work progresses from idea to completion, you update the items on the board. Each column represents a work stage, and each card represents a user story or a bug at that stage of work. The Kanban board has come a long way from when it was first introduced in TFS 2012. In TFS 2018, boards offer great flexibility to adapt to the processes, workflows, and customizations that work best for you and your teams.
Kanban literally translates as signboard or billboard. Accordingly, your number-one task is to visualize your team's workflow. You do this by identifying the types of work and handoffs that occur regularly as your team moves items off the backlog and into a shippable state. The main workflow stages performed by our PartsUnlimited team are captured here as Analyze, Develop, Test, Deploy, and Feedback. Each column corresponds to a work stage the team performs on each item before it can be considered done:
The work item does not have all of these states, but the beauty of the Kanban board is that it allows you to map multiple workflow stages to a work item state. So, in our example, the develop, test, and deploy stages can be mapped to the work item state active. This can be done right from within the Configure team settings
dialog in the board view, without having to modify the process template. Columns allow you to visualize the workflow that's used to deliver requirements to production. Swim lanes, on the other hand, help visualize the different streams of work. Let's see how we can set up columns and swim lanes.
Let's perform the following steps:
- Launch the PartsUnlimited team portal and navigate to the work hub. Open the
Stories
board and click on the gear icon to configure the team settings. - The
Columns
section in the Settings dialogue allows you to configure board columns. Rename theActive
column toAnalyze
and update theDefinition of done
section:
- Add a new column for
Develop
,Test
,Deploy
, andFeedback
, and map this to the work item state Active. The WIP limit should be set to limit overloading a specific team will more work than they can deliver at one time, which would only end up creating a bottleneck in your delivery workflow. You can also track bugs on the board, since you have the option of mapping a different workflow for bugs:
- Next up, use the fields section to add the fields you would like to see on the cards in the Kanban board. A good idea might be to include the field for
Value Area
. With this change, the cards on the backlog will display the value area the work item delivery is contributing to.
- Use the styles and tag colors section to define styling rules using a combination of fields and values. It might be a good idea to create a styling rule to show the card background as red if there is a tag that's blocked, for example. This can be done by using the following styling rule:
Setting up a workflow using columns and streams of work with swim-lanes, in addition to styling rules, makes visualizing requirements a lot easier. As you can see in the following screenshot, the columns have an information icon, which reflects the Definition of done setup through the team configuration dialog:
I've briefly touched on WIP limits in the implementation steps. To optimize the flow of value, you want to identify and eliminate bottlenecks. Bottlenecks indicate that waste exists in the overall workflow process. By monitoring your Kanban board over time, you can learn where bottlenecks occur. When several items sit in a column that hasn't worked for several days, a bottleneck has occurred. Bottlenecks typically occur when WIP limits are too high. On the other hand, no bottlenecks could indicate that WIP limits are too low. There is no right answer to what the correct WIP limit is for a column; this is something that can be discovered using empirical data by using the process and tools over time.
The TFS marketplace features the free Query based boards extension (https://marketplace.visualstudio.com/items?itemName=realdolmen.querybasedboards), which was created by RealDolmen, and allows you to visualize the result of work item queries on a board. After installing the extension, navigate to the Work
hub and select Queries
. When opening a query, a new tab called Board
will be available to visualize the results on a board:
The extension is available as a dashboard widget, as well as a subpage in the work hub. The Activity Feed
gives a summary of all the recent changes that have been made to work items, commits, pull requests, and builds. It tells you who changed a task, who logged a bug, and who committed code. The extension supports configuration, so you can decide to filter out what's not relevant or simply configure which backlogs work updates should be published from. Some people would agree that the more boards, the merrier!