Useful usage of MS Project

by Ewald Hofman 17. August 2009 06:27


When I heard from TFS the first time in 2005 I was very delighted to see the MS Project integration with TFS. When starting my first project in TFS, I immediately started to use MS Project to plan the project. Finally I was able to see what the impact would be for the project and also use it to communicate very well with the developers, testers, etc.

After the first week I realized that MS Project is very nice to show an initial (high level) project plan, but to use it for progress tracking it is not the best tool. Let's tell why.

Take a very simple project plan


I upload the data to TFS, and I am going to work on the second task. The following day I level the resources to see what the changes are to the original project plan. The result of this is:


According to this plan, I have done nothing on monday and that I will have no tasks for today. This leads to a delay in my project plan of a day, although in reality there is no delay at all. I would have expected the following plan:


This behaviour is by design in MS Project: any completion of a task will not be moved when leveling the resources. And this behaviour did make me decide that to not use MS Project anymore.


Lately a new user wanted to use MS Project and asked me whether it was possible to work with MS Project. I discussed with him why he shouldn't use MS Project, but then he came with a brilliant idea. He wanted to see the remaining work only. This made me think.

Imagine that the Completed Work will not be synchronized with TFS, then a task would be always 0% completed, so the remaining work of the task will be moveable, and the completed part of the task will disappear from the project plan. Let's try that to our example.

Starting with the original plan

Then mark the second task as completed. This is now done by setting the remaining work of the task to 0. This make the following plan when leveling the resources at


This gives me exactly what I am looking for: it shows me where my critical path is and what the finish date for the project will be.


To implement this solution, do the following steps

  1. Open the Visual Studio Command prompt (Start -> All Programs -> Microsoft Visual Studio 2008 -> Visual Studio Tools -> Visual Studio 2008 Command Prompt)

  2. Type "tfsfieldmapping download <tfsserver> <team project> <local file>, for example tfsfieldmapping download http://MyTfsServer:8080 MyTeamProject c:\temp\mapping.xml

  3. Open the downloaded file (in the example c:\temp\mapping.xml) in a xml editor (eg. in Visual Studio)

  4. Remove the line




    Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour" />

  5. Save the file

  6. Type "tfsfieldmapping upload <tfsserver> <team project> <local file>, for example tfsfieldmapping upload http://MyTfsServer:8080 MyTeamProject c:\temp\mapping.xml

  7. When you create a new MS Project and connect it to the TFS server, there is no synchronization of the completed work, so when you refresh the work items, only the remaining work will be updated and the completed work remains 0.


VSTS 2008 | Work items


9/14/2009 8:47:37 AM #



Thanks for your help... I was reading your answers in the TFS forum....
But still I need some help here:

In the TFS support site ( they say I can view the column's mapping by doing the following:
To view how work item fields are mapped to Microsoft Project
On the Team menu, click View Column Mappings.
Well.... I can't do that....
Anyway, I've downloaded the MappingFile.xml as described.
I have some customized fileds in my TFS WI (for example: Requested version, Account and Severity).
I want to add them into the TFS so they will be part of my plan so I can sort and filter based on build versions and severity.
I did play a bit with this mapping xml, trying to add these fields, uploaded the xml back, did refresh but with no change. the Whenever I imported the WIs to MS Project, the new fields were not there.
What am I doing wrong ? Can you help me here ?


Rinat Israel |

9/14/2009 12:57:30 PM #

Ewald Hofman


Why can’t you see the column mappings? Do you not have the team menu item?

I don’t know how the field mappings are cached. You might try to do
- A refresh on the work items (in the team explorer)
- An iisreset on your tfs machine
- Clear the local cache (

Ewald Hofman Netherlands |

Comments are closed

Powered by BlogEngine.NET
Theme by Mads Kristensen


Widget Statistics not found.

There is an error in XML document (0, 0).X

Recent comments

Comment RSS