Upgrading your process template to light up TFS 11

By | 2012-04-03T11:00:02+00:00 April 3rd, 2012|Team Foundation Server, Visual Studio 11|1 Comment

TFS 11 provides a wealth of new features in terms of project management,
development and customer involvement. But to take advantage of these features
you have to make the right changes to your process template. With the release of
TFS 11, Microsoft will include the ability to update an already deployed
project, but what do you do if you want to upgrade a base template? Read on…

The easiest way to start is by downloading an existing process template from
a TFS 11 server. This will provide you with the files you need and make it so
you can easily copy and paste the important items into your process template.
The rest of this post assumes that you have done this as I’ll refer to specific
files from an existing process template (the MSF for Agile process template in
this case).

After you’ve done that, it’s time for the simple changes:

  • Change the system.description field from PlainText to HTML

When you upgrade, the system.description field is automatically converted to
HTML (finally)! However, if you try to make a change to the template without
changing this field, the next time you run witadmin importwitd it will tell you
that the import fails with the reason that system.description is HTML and cannot
be converted to PlainText. This will just save you some grief.

  • Add storyboard tab whatever work items represent your business requirements
    (User Story, Requirement, Change Request, etc)

Add the following XML:

<Tab Label=&amp;quot;Storyboards&amp;quot;>
  <Control Type=&amp;quot;LinksControl&amp;quot; Name=&amp;quot;StoryboardsControl&amp;quot;>
        <WorkItemLinkFilters FilterType=&amp;quot;excludeAll&amp;quot;/>
        <ExternalLinkFilters FilterType=&amp;quot;include&amp;quot;>
          <Filter LinkType=&amp;quot;Storyboard&amp;quot;/>
          <LinkColumn RefName=&amp;quot;System.Title&amp;quot;/>
          <LinkColumn LinkAttribute=&amp;quot;System.Links.Comment&amp;quot;/>

Action states are what changes the state of tasks as you drag tasks (or other
work items, but tasks in the out of the box templates) in the My Work pane in
the Team Explorer tab of VS (Figure 1).

Figure 1 – My Work pane, Team Explorer

  • To add the action settings, use the following:

In the TRANSITION element from Proposed to Active

  <ACTION value=&amp;quot;Microsoft.VSTS.Actions.StartWork&amp;quot; />

In the TRANSITION element from Active to Closed

  <ACTION value=&amp;quot;Microsoft.VSTS.Actions.Checkin&amp;quot; />

In the TRANSITION element from Active to New (or Active to Proposed)

  <ACTION value=&amp;quot;Microsoft.VSTS.Actions.StopWork&amp;quot; />
  • Add the Code Review Request, Code Review Response, Feedback Request and
    Feedback Response to the work items xml file

Copy the four files from the downloaded process template to the
TypeDefinitions folder and add the following lines to the workitems.xml file in
the WORKITEMTYPES element:

    fileName=&quot;WorkItem TrackingTypeDefinitionsCodeReviewRequest.xml&quot; />
    fileName=&quot;WorkItem TrackingTypeDefinitionsCodeReviewResponse.xml&quot; />
    fileName=&quot;WorkItem TrackingTypeDefinitionsFeedbackRequest.xml&quot; />
    fileName=&amp;quot;WorkItem TrackingTypeDefinitionsFeedbackResponse.xml&amp;quot; />
  • Update the categories.xml file (in the WorkItem Tracking folder)

Add the following boilerplate XML under the cat:Categories element:

<CATEGORY name=&amp;quot;Code Review Request Category&amp;quot;
  <DEFAULTWORKITEMTYPE name=&amp;quot;Code Review Request&amp;quot; />

<CATEGORY name=&amp;quot;Code Review Response Category&amp;quot;
  <DEFAULTWORKITEMTYPE name=&amp;quot;Code Review Response&amp;quot; />

<CATEGORY name=&amp;quot;Feedback Request Category&amp;quot;
  <DEFAULTWORKITEMTYPE name=&amp;quot;Feedback Request&amp;quot; />

<CATEGORY name=&amp;quot;Feedback Response Category&amp;quot;
  <DEFAULTWORKITEMTYPE name=&amp;quot;Feedback Response&amp;quot; />

<CATEGORY name=&amp;quot;Hidden Types Category&amp;quot;
  <DEFAULTWORKITEMTYPE name=&quot;Code Review Request&quot; />
  &lt;WORKITEMTYPE name=&quot;Code Review Response&quot; />
  &lt;WORKITEMTYPE name=&quot;Feedback Response&quot; />
  &lt;WORKITEMTYPE name=&quot;Feedback Request&quot; />
  &lt;WORKITEMTYPE name=&quot;Shared Steps&quot; />

One cool new thing (maybe I’m just a simpleton) is that you can create types
but then hide them when end-users select New Work Item in a menu (such as no
longer showing the Shared Steps work item type).

  • Add a new folder in the WorkItem Tracking folder called “Process”

Copy the AgileConfiguration.xml and CommonConfiguration.xml into this folder
(get these files from the downloaded template)

  • Update the AgileConfiguration.xml file

There are really only two items you need to look at in this file and they
will be specific to your process template. The first is the columns that show up
on the Product Backlog and Iteration Backlog pages in Team Web Access. The other
item is which fields show up on the Product Backlog “panel” (Figure 2).

Figure 2 – Product Backlog add panel

Edit the AddPanel section to add any fields which are required for any of the
work items which are in the Requirements Category of the categories file. This
may not always be possible but it will make it faster to enter work items –
otherwise when you click Add, the work item form itself will open to allow you
to fill in required fields that do not show up on this panel. You can also add
other fields which are not required but the point is to keep this as uncluttered
as possible!

  • Update the CommonConfiguration.xml file

For the most part you won’t need to make too many changes to this file but
there are a couple of things to look out for:

  • If you use a field other than StoryPoints or Estimate, change the field here
    (it is the field that is of type “Effort”)
  • If you have additional states on your work items, make sure you map them to
    the appropriate meta-state. This is a new concept in TFS 11. So, for example,
    say you are using the MSF for CMMI process template which has the states
    “Proposed”, “Active”, “Resolved”, “Closed”. The meta-states for these are
    Proposed = Proposed, Active = In Progress, Resolved = In Progress, Closed =
    Complete. This allows things like the task board to handle any number of states
    and know when you haven’t started working on something, are working on something
    or have finished something. You set these states per

That’s about it. I’ll add two more caveats: 1) Version control your process
templates and 2) I have made every effort to ensure there are no typo’s in these
instructions and these instructions apply to the Beta version only and I will
not take responsibility if you added something without thinking it through. The
best way to avoid this situation is to just copy the XML from the downloaded


About the Author:

One Comment

  1. Links–04/17/2012 » ALM Rocks! April 17, 2012 at 5:06 am

    […] Upgrading your process template to light up TFS 11 […]

Leave A Comment