Popular process templates such as Visual Studio Scrum 1.0 and Scrum for Team System have introduced the Sprint work item type definition. The sole purpose of this work item is to store information regarding your team sprints. Among other things, it lets specify start and end dates, which are a prerequisite to create a hour burndown chart.The MSF Agile 5.0 process template does not specify such a work item type. Fortunately, Team Foundation Server is designed to let you customize your project's template to better reflect your business process. It is therefore rather easy to add a Sprint work item type to an existing MSF Agile 5.0 project.
Sprint work item type definition
The Sprint work item type definition from the Visual Studio Scrum 1.0 process template has to be found. It can downloaded from the Visual Studio Gallery on MSDN. If the process template is installed in the default default path, the Sprint definition file (Sprint.xml) will be found under C:\Program Files (x86)\Microsoft\Microsoft Visual Studio Scrum 1.0\Process Template\WorkItem Tracking\TypeDefinitions.
Importing a work item type is done through the use of a command-line utility known as witadmin. This utility must first be located on the computer, preferably on the server hosting Team Foundation Server. If Visual Studio 2010 is installed, it should be possible to launch a Visual Studio Command Prompt from the Start menu, which will allow to skip searching for the executable file itself. Otherwise, the file can be found by default (on an x64 installation) under C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\witadmin.exe.
While this article describes how to use the witadmin utility, the Team Foundation Server Power Tools can be used.
Importing the Sprint work item type
- Launch a Visual Studio at command prompt (if available) or a standard command prompt. If the former is unavailable, make sure to navigate to the location of the witadmin utility. Check the prerequisites above to help you locate it.
- Launch the witadminutility by specifying the following arguments:
/collection: The URL of the Team Foundation Server collection that contains the MSF Agile 5.0 project.
/p: The name of the MSF Agile 5.0 project
/f: The path of the Sprint.xml file, enclosed in double quotes.
For example, using the arguments that match your environment, type the following command and press ENTER:
witadmin importwitd /collection:http://localhost:8080/tfs/DefaultCollection /p:Agile /f:"C:\Program Files (x86)\Microsoft\Microsoft Visual Studio Scrum 1.0\Process Template\WorkItem Tracking\TypeDefinitions\Sprint.xml"
If all goes as expected, the following message will appear: “The work item type import has completed”.
Configuring Urban Turtle to recognize the Sprint work item type
Urban Turtle uses what is called Configuration Mapping Files to deal with differences between process templates. It is possible to create a custom mapping file and configure projects to use it. By default, the mapping files can be found under C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Access\Web\UrbanTurtle\configuration\project. It is advised against editing one of the default files as these get removed when uninstalling the application.
- Copy the MSF Agile 5.0.xml file, and open the copy using any text editor. Locate the TemplateConfiguration element at the top of the document and change the Name attribute to something like "MSF Agile 5.0 – Burndown".
- For Urban Turtle to recognize the new Sprint work item type, an entry must be added in the mapping file, telling it exactly what work item type represents a Sprint. It could be any type, but it must have fields to contain the start date, end date and a description (or sprint goal). Since the Sprint work item type definition from Visual Studio Scrum 1.0 is used, the required configuration can be copied from the default mapping file for this process template and append it to the Features element
- The last step required is to configure your project to use the new mapping file. This is done through the Configuration page in Urban Turtle, accessible from the Configuration option under the Project menu.
- Select the new “MSF Agile 5.0 – Burndown” and then click the Apply button to save the selection.
Using the Hour Burndown
Displaying the Hour Burndown requires to create a Sprint work item in the selected iteration. This is made very simple by Urban Turtle just by clicking the Sprint Details icon on the iteration box.
Once start and end dates for the sprint has been specified, it is possible to display the Hour Burndown. Make sure the iteration is selected in the iteration panel and then click on the Burndown button on the toolbar.
Voilà, a real-time Hour Burndown with MSF Agile 5.0!
Just about any feature that is not available out of the box with the process template may be enabled by customizing projects and creating a custom configuration mapping file.