Managing Lots of Work Item Queries

At lunch today I was discussing topics to blog about with two peers who are very involved with work item tracking.  Dan is the PM of WIs and Jim is the release manager for TFS.  Naturally we discussed the aspect of how a blog is one's own personal perspective on life & work, and specifically the unique perspective we have of being PMs doing project management with VSTS.  So we can share how we're using our own tool for the SDLC.  Here is one tip and I'll be posting more.

Note: This is not a "best practice" or "supported scenario", it is a workaround.  The next version of VSTS may or may not support this, I don't know yet.

Glossary

Whidbey = Visual Studio 2005, Orcas = Next Version of Visual Studio, VSTS = Visual Studio Team System, WI = Work Item, WIT = Work Item Type, WIQ = Work Item Query, PU = Product Unit, TFS = Team Foundation Server

The Problem

When building Whidbey, we had one Team Project for all of VSTS.  Since TFS doesn't support foldering WIQs, we ended the project cycle with one big long flat list of 355 "Team Queries"!  It became a real pain to manage for just 5 PUs.  We'd prefix them with a code for the team that own them, like "TSDT DBG - Bugs" for the Team System Developer & Test PU's Debugger feature team.

A Solution

In our Orcas team project, we're now supporting the dozens of PU in Visual Studio.  So our solution is that we are now putting our team queries on our SharePoint site which supports folders and shows up under the "Documents" node in Team Explorer.  Much better!

When creating a new WIQ, "Save As" to a file, then upload the file into the appropriate folder under the Documents node.  To open the file, you must right-click on the file and choose "Edit".  This also provides a handly URL to link to.  Here's a little how to video clip of this (Camtasia Codec required, best when viewed with the Camtasia Player).

355 WIQs under "Team Queries" Using SharePoint w/ Team Hierarchy
    

P.S.  Writing little apps to work with the work item store using the VS05 SDK and TFS extensibility is a good PM tip too. Here's the code used to count the number of WIQs above.  For the fun of it, it's technically just one line of code...  source code: CountWIQs.zip  

Trace

.WriteLine("WIQ Count: " + ((WorkItemStore)TeamFoundationServerFactory.GetServer("https://vstsfatsrv01:8080").GetService(typeof(WorkItemStore))).Projects["Orcas"].StoredQueries.Count);