One of the most accurate ways to estimate how long a particular software development task will take is to base the estimate on how long it took last time, this estimating technique is commonly referred to as yesterdays weather. The problem with yesterdays weather is that although it sounds like very sage advice it can be a bit difficult to implement for the following reasons:

  • Detailed task actuals are often not recorded.
  • When they are recorded they are often scattered across status reports.
  • They often don’t factor in time taken to fix bugs at various stages of development.

In Team Foundation Server, we finally have a tool that could potentially address some of the above problems. The Work Item Tracking facility within TFS allows us to query a central repository work that was completed during the course of a project.

In this series of articles I am going to show how you can use the Team Foundation Server APIs and extensibility model to support the recording of actuals against work items and publishing those actuals to a web-site where they can be queried. I envisage that the following tasks will have to be performed.

  • Modifications to existing Work Item Type Definitions.
  • Clean install and uninstall routine for above modifications.
  • Web application to query the information defined by the modifications.

By the end of this series of articles you should be comfortable making modifications to Work Item Type Definitions and know how to access the work item tracking database from your own application code – and, if you use the tool have created a valuable new asset for future software development projects.