Task Board Enhancer



What is Team Foundation Task Board Enhancer

This started as a simple exercise to explore Team Foundation Server extension capabilities, in the beginning it only displayed work item ids on the task board, then I started adding some features to be used exclusively as a team wall board, then some people started requesting features and things escalated pretty quickly from there until it was out of control.´´

The Task Board Enhancer, adds features to TFS existing task board and kanban board that can be used on a day by day basis making it use easier, but it also has some features that can be used in autonomous mode to make the entire board visible to the team as a wall board without requiring manual intervention.



Getting news on your inbox

If you wish to receive release notifications on your inbox or a spurious email with related information about Task Board Enhancer, you can Subscribe Task Board Newsletters here

Don’t worry your email won’t be used for any other purpose than sending information about Task Board Enhancer


This extension uses undocumented TFS mechanisms, this means there is a risk (which I’m not able to quantify) it will stop working in the future with new TFS releases or updates . If that happens, the fact that the extension no longer works, it will be my sole responsibility and not of Microsoft.


Team Foundation Task Board Enhancer is free, as in free beer not speech.

It is NOT open source. You can download it and install it on as many Team Founder Server servers as you like (on premises version only).

There are NO WARRANTIES. None of any kind, you may use the software at your own risk.

Distribution or redistribution of this software is not permitted, you may not resell ,directly profit from it or make changes to provided software.

Any software that is distributed with the extension may have it’s own licensing.



Every time the word requirement is mentioned, it doesn’t mean the feature will only work with process template which have this work item type. The extension is process template agnostic, I’m simple referring to work item types that belong to the requirement category. (so this can mean the requirement work item type in CMMI or a Product Backlog Item in the Scrum template)

Show Work Item Ids

By showing the work item ids (either tasks or requirements) you can see it’s id without the need to open the work item.


Show Blocked Tasks/Requirements

If you are facing and impediment and marked a task or requirement as blocked, that will be immediately visible on the board, raising awareness of the problem to anyone.

A blocked task is more visible, since it has a larger red left border and a blocked icon on the top left corner.

A blocked requirement is more visible, since a red label (with the word Blocked) is shown above the requirement.


You can mark a work item as blocked, by setting the blocked field to true (fields with the Microsoft.VSTS.CMMI.Blocked reference name) or by setting a tag with a value meaning blocked. Since TFS supports five languages, I decided also to support the same five languages. If you add a tag with any of these values (regardless of TFS language) then the workitem will be considered blocked.

  • English – Blocked
  • German – Blockiert
  • Spanish – Bloqueado
  • French – bloqué
  • Italian – bloccato

This feature can be enabled/disabled. (enabled by default)

Show Tags Count

Show in the right corner of the card a count with the number of tags the work item has.

If you hover the counter, a tooltip will show you the tags (separated by commas).


You can read more about work item tags here

This feature can be enabled/disabled. (enabled by default)

The tags are shown on cards and on requirements

Show User Images Instead of Names on Cards

Some people prefer more visual things. This feature removes the name of the person to whom the task is assigned and replaces it with their user image.

This feature only works for team members, if a task is assigned to a person who is not a team member then the name is still shown.


This feature can be enabled/disabled. (disabled by default)

Show Requirement Work Item Type

If the board contains more than work item type in the requirements then it’s work item type is show, below the requirement (for example if have a process template that defines both user story and bug as a requirement type).


This feature only works on the task board.

Show the (kanban) State of a Requirement

This feature shows the state of a requirement. This enables you to quickly see the state of a given requirement, this helps to quickly identify which requirements are done (for example even if all tasks have finished, it doesn’t mean the requirement has been closed/resolved).

But it’s the state with a twist, it’s not the state of the work item, but the kanban state. If you are using the kanban board and customized the columns, the work item state in the kanban board will be shown here.

This way you will be able to see the state right there on the board, without the need to open the kanban board.


Show the color of a work type type for requirements

Besides the work item type, a color is also shown on the right side of the requirement for easier view of the work item type in the requirements category


NOTE: The color and the work type type are only shown if process template has more than one work item types in the requirement category.

This feature only works on the task board.

Show the name of the user to which a requirement is assigned to

This features allows you to see the user name to which a requirement is assigned to.


This feature can be enabled/disabled. (disabled by default)

This feature only works on the task board.

This feature is only available on version 2.7.6

Expand/Collapse all Requirements

TFS provides out of the box the capability of expanding/collapsing a requirement, allowing you to hide or show all tasks that are children of a given requirement. The taskboard enhancer expands this feature and allows you to expand/collapse all requirements at once.

The task board enhancer adds two buttons to the toolbar to allow the user to easily expand/collapse all requirements.


This feature only works on the task board.

Collapse/Hide Done Requirements

If you have a large number of requirements, as you progress through the sprint the finished requirements (done,done) might be seem as noise. This feature adds a configurable filter that allows you to automatically collapse or hide the requirements that are already done.

The filter has three options “show” (default value) in which closed requirements are visible (and expanded), “hide” in which closed requirements (they will be totally invisible) or “collapse” in which closed requirements will be visible but automatically collapsed so they get less in the way by making them less prominent.

The name of filter is dependent on the process template of the team project, it is composed by the closed state (closed on CMMI, done on Scrum and MSF Agile) and the name of the requirement on the process template (Requirement, backlog item or stories for example).

image_thumb4[6] image_thumb3


If there is enough space, the filter will also show a counter with the number of closed requirements.

This feature only works on the task board.

Show requirements execution summary

In the taskboard, under your sprint details you can see a summary of the completed requirements.


(when I say requirements, it means work items in the requirement category (the first column on the task board). For Example Product Backlog Items for Scrum or User Stories in MSF.

The shown value, is not related to the effort spent on the tasks, but the effort related to the work items in the requirements category.

For example in Scrum it’s the Effort field


whereas in MSF Agile it’s the Story Points field


The summary shows how many points (let’s call it that for simplification purposes) have been already completed out of the total points for this sprint.

This feature is only available on the task board.

Maximize Workspace

Since in an unattended scenario,  we are mainly interested in viewing the task board itself, it would be interesting to remove the clutter from the screen and only see the task board itself, this is exactly what this feature does.


If you activate it, it removes the hubs entries (Home, Work,…) and the second level tab.

Auto Refresh

Automatically refresh the board at a predetermined rate.

If the filter is enabled, it also shows how many seconds (countdown mode) until the next refresh is going to happen.



This feature is quite useful on a wallboard, allowing everyone to see an update board.

Auto Scroll

It is possible that the entire board is not visible on the screen (depends on the screen resolution and the number of requirements and tasks). If that is the case this feature allows the task board to be continually scrolled so the entire board is always visible (in chunks).

The speed of the scrolling can be controlled via the UI (half, full and double speed).


This feature is quite useful on a wallboard, allowing everyone to see the entire board without having to  manually scroll.

Configurable Preferences per User

A user can configure his own preferences, how the enhancements behaves and which filters are visible


The preferences are preserved across calls and are remembered if the user closes the browser. The preferences are done on a team by team basis and are stored locally on the browser. So if you switch browsers or machines the preferences will not follow you.

As you can can see on the image above, the preferences have two groups. The settings in which you can configure if a given feature is enabled or disabled and the filters, in which you can configure which filters will be visible (see image below) for selection.


The preferences can be triggered on the preferences icon available on the toolbar


Remembers settings between uses

If you change a filter value, the value will be remembered, when you return to the board the last filters you set will be there. The filter values are persisted locally on your browser on a team basis. If you switch to a different browser or to another machine the values will not be there.


Query Parameters

Since one of the usage scenarios of this extensions is to be used in an unattended mode, if though it remembers parameters, most features can be enabled/disabled by passing query string parameters (and some parameters can only be defined by query string since they are not available at the UI level)

These are the parameters you can use

Parameter Description
_tspRefresh Enables auto refresh.
Set value to 1 to enable it.
_tspScroll Enable auto scroll.
Set the value to the speed factor you wish (eg: 1 regular speed, 2 twice the speed, 0.5 half the speed).
_tspRefreshInterval The refresh (in seconds) in which the page will be auto refreshed (the default value is 30 seconds)

Filter done requirements. The possible values are

  • H to hide done requirements
  • C to collapse done requirements
_tspMaximize Maximize screen real estate.
Set the value to 1 to maximize
_tspSkipBlocked Do not show blocked tasks/requirements.
set the value to anything and the blocked status will not be shown
_tspShowUser Show user images instead of their names.
You can pass any value

The parameters always have precedence over saved filter values and preferences.


The latest version is available at

For TFS 2015 Download version of the extension

For TFS 2013 Download version of the extension

For TFS 2012 Update 2 and upwards Download version of the extension

For TFS RTM 2012 RTM and Update 1  Download version of the extension (support for RTM and Update 1 has stopped on version 0.7.6. version 0.7.7 was released to fix a security issue)


To install it, to go the admin page , by clicking on the cog icon (FIGURE 1)


Select the instance by clicking on “control Panel”


Then click on the extensions tab


Click on the cross to upload the extension zip file.


After the upload is done, you will need to enable the extension by clicking on the enable button.


To see the result, just go to a board (you may need to press control F5 to force a full refresh of the javascript for the first time).


Release History

History of all released version

Version x.8.3

Version x.8.1

Version x.8.0

Version 2.7.9

Version 2.7.8 (I’ve decided to removed this version. It has a few bugs, while they are not showstoppers they are annoying. For now stick with version 2.7.7)

Version 2.7.7

Version x.7.6

Version x.7.5

Version x.7

Version 2.6.2 (TFS 2012 update 2 only)

Version 0.6.1

Version 0.6

Version 0.5

Version 0.4

Version 0.3

Version 0.2

Version 0.1


Leave a Reply

Your email address will not be published. Required fields are marked *