I am working for a software company. We are using Microsoft Team Foundation Server (TFS) for our development workflow and it works very well. Now my boss wants to get an overview of the project budget, including the hourly rates of the employees and the stage of completion of the project integrated into Team Foundation Server.

Is it possible to do this within a stock TFS implementation, or does it require third-party software? For example, is it possibile to edit the process templates in TFS to save and maintain this data?

  • Requests for tools, libraries and plugins are beyond the scope of PMSE.
    – David Arno
    Commented Feb 3, 2015 at 12:32
  • Your question has been edited for grammar, and to remove the off-topic request for software recommendations. Hopefully, this question is now on-topic as a TFS usage question; if not, please continue to improve it.
    – Todd A. Jacobs
    Commented Feb 3, 2015 at 23:23

2 Answers 2


Are you sure you want this integrated in TFS?

If your team is agile and is using the Scrum or MSF Agile template, it's not tracking the data required to create the reports your manager would like to see. And if your team is doing agile properly, then it probably doesn't want to track this data in this way.

There are other ways of tracking project completion information through the agile tools. It requires proper use of the Iteration paths to separate out work in batches or the use of the Feature work item (and possibly a higher level portfolio backlog).

It's not possible to add additional information to user accounts in TFS itself, so hourly rates, working hours and other contractual information can't be saved without massive customization. I would strongly recommend against that.

Is this possible out of the box?

You may get pretty far when using the MSF CMMI template and TFS to a Microsoft Project Server integration. MS Project offers a lot of features towards planning and budgeting.

There is a somewhat older virtual machine (based on TFS 2012) that shows the capabilities. It is accompanied by a number of Hands-on labs.

Is it possible using an existing 3rd party solution?

I don't think so. At least not for all features you are after. There are time tracking solutions out there that can solve part of your problems, but if you're using the Project Server integration, you get its Time card features, which would make any 3rd party solution kind of useless.

The 3rd party tools you might want to look at are:

Can I roll my own?

As you can see existing 3rd party tools offer some of the features you're after. Everything is possible, as TFS offers a REST API and a TFS Client Object Model. You can extend the TFS Work Item process template with additional fields and checks. you can probably get pretty far, depending on how much you want to invest.

I'd suggest against this though, unless you want to build a product you can sell. The investment will be hardly worth it.

Some thins will be impossible to do without some form of external data storage, such as storing data about clients and developers' rates and budgets, easily linking Team projects or Areas or Iterations to clients etc.

Plus, you never know what will happen when TFS 2015 comes along and what Microsoft has planned for the next versions after that. Microsoft has been investing in the Agile Planning tools a lot lately and I assume that the way planning and reporting will work will change drastically for the better for agile processes. These generally have a different view on Timekeeping and Budgetting and Projects. There are a lot of agile practitioners that are moving away from most forms of estimation.


This is not a feature that comes stock with TFS

Depending on your bosses requirements, creating a TFS custom process template may be suitable, depending on how he/she wants to consume the information, e.g., graphs, roll-ups, etc. For more information on custom process templates please reference TFS documentation here.

There are 3rd-party tools out there that may be able to provide some of the functionality you are looking for, here is an example. Hope this helps!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.