Automating Visual Studio Team Foundation Server (TFS) 2013 Backlog

Editor’s note: The following post was written by Visual Studio ALM MVP Mohamed Radwan

Automating Visual Studio Team Foundation Server (TFS) 2013 Backlog

In this blog post I will show a PowerShell script that automates a comprehensive customization for TFS 2013 Backlog.

The script perform the following:

  • Export Categories.xml, ProcessConfig.xml, Bug.xml as CustomBug.xml and Feature.xml as Objective.xml
  • Rename the Bug to be "Custom Bug" in CustomBug.xml
  • Rename the Feature to be Objective in Objective.xml
  • Change the Link Control option for the WI (Work-Item) layout in Objective.xml to display Epics
  • Edit the Categories.xml to change the Feature category to be Epic category
  • Add the Custom Bug WI (Work-Item) to the Requirement category
  • Create a new custom category for the new Portfolio level
  • Add the Objective as the default WI (Work-Item) to that custom category
  • Clone the Portfolio section in ProcessConfig.xml
  • Change the new cloned portfolio to has the new custom category
  • Rename the items in the second portfolio from Feature to Epic
  • Added a new color section for the new WI (Work-Item) Epic and renamed the Feature to be Objective
  • Add AssignedTo column to the panel

So you will need to perform the following steps to work with that script:

  1. Create a new project
  2. Create a folder in C drive with name “Exported” “C:\Exported”
  3. Rename the project and the collection variables in the PowerShell script
  4. Run the script

Download Script

By going to the exported folder “C:\Exported” and start compare files before and after using any comparing tool like WinMerge as the following:


In the Categories.xml file we will find that the script performed the following:

  • Change the Default Work Item Type for “Microsoft.FeatureCategory“ from Feature to Epic


  • Add the Custom Bug to “Microsoft.RequirementCategory
  • Create a new custom category “Radwan.ObjectiveCategory” and make the Default Work Item Type for that category is Objective


In the ProcessConfig.xml file we will find that the script performed the following:

  • Add the column AssignedTo to the Add Panel


  • Add a new Portfolio section by cloning the existing one and change the following:
    • Use the new created custom category “Radwan.ObjectiveCategory
    • Change the plural name to be Objectives and single name Objective


  • In the Work Item Colors section:
    • Rename the Feature to be Objective
    • Add a new color section for the Epic


The previous configuration reflected on the project as the following

  • We will have 3 new WIs (Work-Items)
    • Custom Bug
    • Epic
    • Objective



  • A new Portfolio level has been added and the Feature renamed to Epic with new color (green)


The Custom Bug added to the Requirements Backlog in the Add Panel

  • The AssignedTo column added to the columns in the Add Panel






About the author


Mohamed Radwan is a Visual Studio ALM MVP and Senior ALM Consultant focusing on providing solutions for the various roles involved in software development and delivery to enable them build better software using Agile Methodologies and Microsoft Visual Studio ALM Tools & Technologies.

Mohamed excels in software practices and automation with 12+ years of professional experience spanning the different stages and phases of the Software Development Lifecycle. Follow him on Twitter 


 About MVP Monday

The MVP Monday Series is created by Melissa Travers. In this series we work to provide readers with a guest post from an MVP every Monday. Melissa is a Community Program Manager, formerly known as MVP Lead, for Messaging and Collaboration (Exchange, Lync, Office 365 and SharePoint) and Microsoft Dynamics in the US. She began her career at Microsoft as an Exchange Support Engineer and has been working with the technical community in some capacity for almost a decade. In her spare time she enjoys going to the gym, shopping for handbags, watching period and fantasy dramas, and spending time with her children and miniature Dachshund. Melissa lives in North Carolina and works out of the Microsoft Charlotte office.



Skip to main content