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.
|