How Microsoft/DevDiv uses TFS - Chapter 3 (Addendum)

Michiel sent in a question about this blog post that I thought I would answer to everyone.

The question is: How do you create relationships between the work items? For example, Scenarios to Value Props, Value Props to Experiences, Experiences to Features.

For Scenarios to Value Props, we simply used an ALLOWEDVALUES list. That is, we define the Value Props work item type to have a field called "Scenario" and define a list of ALLOWEDVALUES. The ALLOWEDVALUES is tied to a GLOBALLIST, which is the list of Scenarios.

For all the other relationships, we use work item links. That is, we create a links between the Value Prop work item and the Experience work item. Those relationships just showed up in the links control on the work item form. You may notice that our MSF default work items have a tab called "Links" and that the work items hi-lighted in the previous post have the links displaying on the same tab as the description. Just wanted to point out this is entirely a form designer decision. You can place the links control wherever you wish.

A natural question would be: "How do you keep people from linking Value Props directly to Feature? How do you enforce the hierarchy?

The answer is, through exception reporting. A few people would be running reports that would point out any links that didn't belong and they would go clean them up. Not a pretty answer, but that's what we did.

Great question, Michiel! If other people have questions, please send them in via the blog email link.

 

 

PS: These are answers to the question, but I wouldn't call the good answers. A good answer would talk about typed links, hierarchical work items, etc... That kind of functionality is coming in Rosario.