Enabling the Iteration Backlog Workbook on an Upgraded Team Project

NOTE: THE STEPS OUTLINED IN THIS POST ONLY APPLIED TO TFS 2010 BETA 2. PLEASE SEE THIS POST FOR THE SIMPLIFIED RTM STEPS. 

Visual Studio Team System (VSTS) 2010 Beta2 introduces new features and capabilities to help agile teams with planning.  One of those features is “out of the box” Excel workbooks that ship as part of the MSF for Agile Software Development v5.0 process template

  • Product Backlog – Use this workbook to create and manage the product backlog, estimate the team's velocity, and to break the project down into iterations.
  • Iteration Backlog – Use this workbook to plan an iteration and track its progress. This workbook helps you load balance your team effectively and ensure that your team is committing to goals it can achieve.

This article describes the steps you can take to enable the Iteration Backlog workbook for existing Team Projects not based on the MSF for Agile Software Development v5.0 process template.  This post is one of a series about upgrading Team Projects to take advantage of new features that ship in VSTS 2010. To simplify the steps this article assumes you’re existing Team Project is built on the MSF for Agile Software Development v4.2 process template.

Iteration Backlog Workbook

  • Step 1 – Download the MSF for Agile Software Development v5.0 process template
  • Step 2 – Modify the Task work item definition
  • Step 3 – Create an iteration backlog query
  • Step 4 – Bind your query to the product backlog workbook
  • Step 5 – Modify the workbook document properties

Step 1 – Download the MSF for Agile Software Development v5.0 process template

To get started you’ll first need to download the MSF for Agile Software Development v5.0 process template from your Team Foundation Server.  We need to download this template to get a copy of the Iteration Backlog workbook.

  • In the Visual Studio Team Explorer, right click your Team Project Collection, then click Team Project Collection Settings, then click Process Template Manager.
  • In the Process Template Manager dialog, select the MSF for Agile Software Development v5.0 process template and click Download.
  • Save the process template to a local directory. We’ll use the workbook in this template in later steps.

Step 2 – Modify the Task work item definition

Next, let’s modify the Task work item definition in your current project to include the fields required by the Iteration Backlog workbook.

  • From the command shell, go to “Program Files\Microsoft Visual Studio 10.0\Common7\IDE”
  • Run the following command to download the task work item type:
 witadmin.exe exportwitd /collection:https://myserver:8080/path/mycollection
/p:myproject
/n:“Task” 
/f:MyTask.xml
  • Open the MyTask.xml file that you downloaded above and add the following snippet to your Scenario.xml work item definition under the WITD.WORKITEMTYPE.FIELDS node.
 <FIELD name="Original Estimate" 
    refname="Microsoft.VSTS.Scheduling.OriginalEstimate" 
    type="Double" reportable="measure" formula="sum">
    <HELPTEXT>The number of hours originally estimated to 
    complete this task</HELPTEXT>
</FIELD>    
  • Add the new Original Estimate field to the layout of the Task work item form.  To do this, modify the Schedule node as follows:
 <CONTROL type="FieldControl" 
    fieldname="Microsoft.VSTS.Scheduling.OriginalEstimate" 
    label="Original Estimate &amp;(hours):" 
    labelposition="Left" 
    numberformat="DecimalNumbers" 
    maxlength="10" /> 
  • Execute the following command to upload the new work item definition.
 witadmin.exe importwitd /collection:https://myserver:8080/path/mycollection
/p:myproject
/f:MyTask.xml

 

Step 3 – Create an iteration backlog query

In order to use the Iteration Backlog workbook you must create the appropriate query in Team Explorer.

  • In the Visual Studio Team Explorer, right click the Work Items node and click Add Query.
  • Create a query with the following parameters and columns.

Parameters:

    • Team Project = @Project
    • Iteration Path = <Iteration You Are Planning>
    • Work Item Type = Scenario

Columns:

    • ID
    • Assigned To
    • Title
    • Remaining Work
    • Completed Work
    • Original Estimate
    • Area Path
    • Iteration Path
    • Work Item Type
  • Save the new query and name it “Iteration Backlog”.

Step 4 – Bind your query to the iteration backlog workbook

Next, we’ll bind the query we created in Step 3 to the workbook.

  • Open the \Windows SharePoint Services\Shared Documents\Project Management folder from the process template you downloaded in Step 1. 
  • Copy the Iteration Backlog.xlsm into a new location and open the file.
  • After the file opens, click the Options… button in the security warning and select Enable this content.
  • Place your cursor in cell A1 of the Iteration Backlog worksheet.
  • Switch to the Team ribbon and click New List.
  • Select your Team Project and click Connect.
  • From the New List dialog, select the Iteration Backlog query you created in step 3.

Step 5 – Bind your query to the iteration backlog workbook

The final step is to add a set of document properties that allow the workbook to communicate with the TFS reporting warehouse. Before we create the properties we need to collect some information about your project. The first piece of information comes from the table created in the previous step.  As you collect these properties, copy them into notepad so they can be used in later steps.

  • [Table name] – Switch to the Design ribbon and select the Table Name value in the Properties portion of the ribbon

  • [Project GUID] – In the Visual Studio Team Explorer, right click your Team Project and select Properties.  Select the URL value and copy the GUID (long value with lots of characters) at the end of the URL.

  • [Team Project name] – In the Properties dialog, select the Name field and copy the value. 

  • [TFS server name] – In the Properties dialog, select the Server Name field and copy the value. 

  • Switch back to the Iteration Backlog workbook.   Click the Office button and select PrepareProperties.

  • Click the Document Properties – Server drop down and select Advanced Properties.

  • Switch to the Custom tab and add the following properties using the values you collected above.

    • Name: [Table name]_ASServerName, Value: [TFS server name]
    • Name: [Table name]_ASDatabaseName, Value: tfs_analysis
    • Name: [Table name]_TeamProjectName, Value: [Team Project name]
    • Name: [Table name]_TeamProjectId, Value: [Project GUID]
  • Click OK to close the properties dialog.

  • Save and close the workbook. 

Your new Iteration Backlog workbook is now attached to your Team Project and can be used to plan an iteration.  To preserve the workbook you should save it to a permanent location (SharePoint portal, etc).