I expect some people to see this and say, “Hey, that’s clever.” I know that others will read this and think, “What a hack.”

Whichever side you fall on, there is little debate that navigating Work Items in Team System via customizable queries can be a little frustrating at times. The rub is in the data matching and ensuring you have fields defined for all the data you want. Often, I want to work with a set of work items that seem to have little to do with each other and aren’t tied together with a genuine data model.

For example, when my backlog of Product Backlog Items (PBLIs) has 300 work items in it, I want to take 5 of them into an estimation meeting. Or maybe I want to flag 10 of them as a group because they are related via a project that I cannot get to with Area or Iteration data.

The logical next question is, “Wouldn’t it be great if I could tag a work item in TFS?”

Here’s how I did it.

  1. Add a custom field to every single Work Item type in my Team Project.
    image
    This field is just a string and is not marked as reportable. I only need it available for queries. I added no custom rules for the field, it is just there if you want it, not required or managed as part of workflow.
  2. Add a control (a long one) for the field on all the work item types. I put it right near the top to make it easy.
    image
  3. Tag away. As a best practice, I am advising users to treat space as a delimiter to make tag searching easier.
  4. Create a custom team query that looks like this:
    image
    This lets users get to a search fairly quickly inside VS, but the best thing is to create your own private tag searches and keep them around like this:
    image
  5. It  is much easier to get use out of this using Team System Web Access because the search feature will simply hit against tags.
Previous post

In Seattle for ALT.NET

Next post

ALT.NET Seattle Recap

  • Pingback: Normal people bore me!()

  • http://elegantcode.com Scott Nichols

    Thanks for this post David, we were struggling with how to do something like this at work. We wanted a way to give Work Items a subcategory for query grouping. This tagging approach seems like a good way to accomplish it.

  • http://iridescence.no Fredrik

    So simple yet so powerful. I like it! Will definitively be adding something similar to our own work item template :)

  • Pingback: Elegant Code » Conchango’s Scrum Process Template 2.1 for Team System()