New to TFS in VS2010 is the concept of work item categories. Previously, a work item was known only by its name, and it was up to the user to distinguish what a work item was meant to represent based on the name. Out of the box, a work item may have the name of ‘Bug’, but your organization may choose to rename it (as ours has to Dev10 Bug). Furthermore, a work item name is also localizable so anyone interpreting the name of a work item also has to be aware of what that item is called in other languages.

If you run the project creation wizard and select one of the out of the box templates, it will specify the work item categories for bug, test case, shared step, and requirement. To see this information, you will use the witadmin.exe utility. Here is sample output from our team development server (command in yellow, output in green):

Visual Studio Command Prompt (2010)

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>witadmin exportcategories
/collection:http://windfall:8080/tfs/defaultcollection /p:Camano

<?xml version="1.0" encoding="utf-8"?>
<cat:CATEGORIES xmlns:cat="
  <CATEGORY refname="Microsoft.BugCategory" name="Bug Category">
  <CATEGORY refname="Microsoft.RequirementCategory" name="Requirement Category">

    <DEFAULTWORKITEMTYPE name="User Story" />
  <CATEGORY refname="Microsoft.SharedStepCategory" name="Shared Step Category">
    <DEFAULTWORKITEMTYPE name="Shared Steps" />
  <CATEGORY refname="Microsoft.TestCaseCategory" name="Test Case Category">
    <DEFAULTWORKITEMTYPE name="Test Case" />

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>

Work item categories are only used in MTM so far. We use them to restrict the type of work item to show in a given list, and to offer a New button for that work item type in that list. Examples include the Test Plan Contents and the Verify Bugs views.

You are probably wondering and hoping at this point that this information can be customized. The answer is Yes! We’ll have a follow up blog post explaining the main scenarios for customizing work item category information and instructions on how to do it. Also, we’ll have a post on how you as a user should be aware of this concept when writing work item queries.


David Williamson

Engineering Lead, MTLM