Tagging Team System Work Items

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.

Published by

David Starr

David Starr is Director of Technical Learning at GoDaddy. He is a professional software craftsman committed to improving agility, collaboration, and technical excellence in software development teams. He is the founder of Elegant Code Solutions, has served in numerous leadership contexts, and was as an early and consistent advocate for agile software development. He has successfully led product development initiatives and organizational transitions in numerous positions including Chief Software Craftsman at Scrum.org, Sr. Program Manager for Visual Studio and Team Foundation Server at Microsoft, Chief Software Architect, Director of Product Development, Pluralsight Author, independent consultant, and trainer. David’s professional focus is on all aspects of developing, delivering, and operating software systems. With specific attention on the end-to-end process, methods, and practices of high performing development teams, his skills transcend specific technology stacks, although he has has a specific skills focusing on the Microsoft stack. He speaks at various international conferences, is a frequent guest on various podcasts, author of articles throughout the technology industry, and the founder of Elegant Code Solutions. He is a 5 time Microsoft MVP in Visual Studio ALM.

4 thoughts on “Tagging Team System Work Items”

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

Comments are closed.