Get certified - Transform your world of work today

Backlog Planning Using Team Foundation Server (TFS)

10/18/2013 by Rohit Ratan Mani

With new tools coming onto the market, there are increasing numbers of options for companies to use out-of-the-box functionalities for better planning of Agile projects. I have been using Team Foundation Server (TFS) for managing Agile projects, and I would like to share my experiences. I use TFS along with MS Project and MS Excel for Backlog Planning. TFS projects are created using MSF for Agile Software Development 6.2 Template.

Below are the steps to follow for backlog planning:
1. Define iterations in TFS:

2. Create areas in TFS:


I usually create two areas, namely "Product Backlog" and "Defect Backlog." All user stories are created under Product Backlog, and bugs go under Defect Backlog.
3. The product owner creates user stories in TFS and provides a "Stack Rank" to all the stories:


Note: User stories are created in the Default Area and Iteration Path. The figure shown above is a Tree Query, to show all the user story work items in the current project.

4. Export the TFS query in MS Excel and initiate a requirement grooming session with the team and product owner:

5. Have a Planning Poker session, after you have an understanding of the requirement. The outcome of this session should be to have story points for all user stories.


After entering the story points, click on "Publish" to update the data into TFS.              

6. Have a release planning session to break down user stories into smaller, more meaningful chunks. The outcome of this session should be smaller user stories and an iteration-wise release plan for these user stories.

Using "Add Child," new user stories linked to parent user stories can be created.



Publish the release plan to TFS using the "Publish" feature in the "Team" tab.
7. Export the query to MS Project. Break up the user story into tasks and create a plan for the iteration. Publish the plan to TFS using the "Publish" feature in MS Project.


The duration committed in MS Project is linked to the "Remaining" field in the "Efforts" section.
8. Refresh Excel and all tasks will be updated. By default, the duration estimated is not shown in the Excel file. Select "Choose Column" and add "Remaining Work."



A similar breakdown should be done for other user stories. The output of this exercise gives us data points to use to assess the release plan and modify it if required.

The data below comes out of this exercise:
Iteration-wise effort available versus effort planned:


The graph shows that less work is planned for Iteration 1 and more for Iteration 2. The release plan can be updated accordingly to have a balance in effort availability. This data point can be updated at the start of every iteration for analysis.
Another analysis gives a trend on how the estimates (story points) convert to efforts in hours:


This analysis shows how effort varied with story points. High-level estimation can be derived with the velocity of the sprints using this. An input from this can be used for resource planning of future sprints.
Disclaimer: I am a user (not a developer) of TFS in my organization, and the process documented above comes from the user perspective.