Enabling "Bug on the Backlog" feature for the Scrum template

Enabling "Bug on the Backlog" feature for the Scrum template

TFS 2013 update 4 has been out for a few weeks now and one of it's features allows you to easily put Bug work items on the backlog. This feature is very useful for users of the MSF Agile and MSF CMMI process templates, but is not enabled for users of the Scrum template. Teams using the scrum template will see teh "TF400917" error message and the checkbox will be disabled:

This makes sense, since Bugs have always been on the backlog for Scrum teams. I did look into what's needed to enable this feature and if you have custom templates the following tutorial may be useful to you as well.

To make this work you have two options, one is to take an existing process template and edit it, the other is to edit your process template in a lice project. I tend to prefer the first, but the latter will work as well.

To download the files you need from a live project run the following command from a Visual Studio command prompt:


C:\Temp>witadmin exportcategories /collection:http://jessehouwing:8080/tfs/DemoCollection /p:"Scrum 2013.3" /f:categories.xml
Operation complete.
C:\Temp>witadmin exportprocessconfig /collection:http://jessehouwing:8080/tfs/DemoCollection /p:"Scrum 2013.3" /f:processconfig.xml
Operation complete.

Open these files in notepad and make the following changes:

  1. Add the following category.xml:

<Category name="Bug Category" refname="Microsoft.BugCategory">
  <defaultworkitemtype name="Bug" />
</category>

  1. Remove "Bug" from the Requirements Category in categories.xml:

<CATEGORY refname="Microsoft.RequirementCategory" name="Requirement Category">
  <DEFAULTWORKITEMTYPE name="Product Backlog Item" />
</CATEGORY>

  1. In the ProcessConfig.xml add the BugCategory:

<BugWorkItems category="Microsoft.BugCategory" pluralName="Bugs" singularName="Bug">
  <States>
    <State value="New" type="Proposed" />
    <State value="Approved" type="Proposed" />
    <State value="Committed" type="InProgress" />
    <State value="Done" type="Complete" />
  </States>
</BugWorkItems>

Import both files back into your team project if you've edited the template live using:


C:\Temp>witadmin importcategories /collection:http://jessehouwing:8080/tfs/DemoCollection /p:"Scrum 2013.3" /f:categories.xml
Operation complete.
C:\Temp>witadmin importprocessconfig /collection:http://jessehouwing:8080/tfs/DemoCollection /p:"Scrum 2013.3" /f:processconfig.xml
Operation complete.

Now when you navigate to the team settings you'll find the option enabled. Unfortunately the default value for this feature is "off", so to put your scrum teams back in order you'll need to go through each and every team to make sure that bugs are configured to show on the backlog.

Microsoft will be releasing a version that allows you to toggle where bugs show up (backlog, taskboard or none) in a future release it seems, but no definite dates on that. Keep an eye out on the TFS and VSTS roadmap for an indication.

When you have enabled this feature (on either MSF templates or the Scrum template, you might run into issues creating a Requirements Based Suite in Test Manager. The reason for this is that MTM by default only lists the work items in the Requirements Category to link suites to. There is a fix for this which I will explain in a different blog post.

See also: StackOverflow

Photo credit: Thomas Tolkien