<< Previous Back to TFS Consulting Page Next >>

Work Item Completion Status


Description:

In the client's process, a master "Work Order" was used to describe the high-level change request submitted by their customer. The project manager then analyzed the work order, and created a task break-down that was then individually tracked as "Tasks" using a second work item type. This methodology created a parent/child relationship between Work Orders and Tasks. Each Work Order would typically have several Tasks that needed to be worked on separately, often by different people on different teams.

For each work order, the client wanted a way to quickly determine the completion status automatically by examining each of the work order's tasks, to determine how far away from completion the work order was. The task that was furtherest away from completion was considered to be the status of the overall work item.

Background:

The current level of support for work item hierarchies in Team Foundation Server 2008 is not as mature as other issue tracking systems that have been on the market longer than TFS. The next version of TFS, which will be included with Visual Studio 2010, is reported to have much better support for work item hierarchies (see here). The client, however, needed a solution that would work today using the current version of TFS.

Solution:

Work Orders were linked to their underlying tasks using TFS's work item linking capabilities. A program was then written using the TFS SDK that would walk the related work item graph, recursively if needed, and determine the least completed status of all child work items.

The functionality was packaged as a web application and incorporated into the wiki functionality that we also worked on for the client.