Using MS Project with TFS Redux

In a previous post I talked about an approach for using MS Project with TFS. After applying this to a real project and receiving feedback from the team, I’ve come up with a refined process. The most significant change is that roll-up tasks should not be published to TFS. This avoids confusion among the team and stops MS Project from over-allocating work when levelling resources.


All data entry steps outlined below should be performed in the “Team System Task Sheet” in MS Project.


  1. Create “Outline Level 1” tasks to identify the project iterations. Set the TFS “Publish and Refresh” for these to “No”. This simply means that work items will not be created for these tasks.
  2. Set the “Iteration Path” to an appropriate value for these and all subsequent tasks.
  3. Create “Outline Level 2” tasks to identify the “big-ticket” tasks. Set the TFS “Publish and Refresh” for these to “No” as well.
  4. The first sub-task for each “big-ticket” task should be to create the work breakdown structure for the task. These should be assigned to lead developers.
  5. At this point, the tasks can be published to TFS so the team can get cracking. Even though the lead developers may own the “create WBS” tasks, the whole team should work on these.
  6. Any resulting work items can be imported back into MS Project and collected under the original “big-ticket” task. This will allow delivery dates to be estimated and resource availability to be assessed (assuming the team also estimated the work required for each work item). Note that the collection of new tasks under the appropriate “big-ticket” task is a manual process. You might need to get your team to add some form of identifying text to the new work items so you’ll know where to put them.

You should end up with a task sheet that looks like the following: