As you can read in my previous post I received a request from Yogita Manghnani to share my experiences. This is the second post concerning options I struggle with in TFS. Almost all people where I introduce TFS come up with the same question "Can I relate my Work Items?" and I always have to reply "Yes you can, but there is no hierarchy." Personally I think relationship between Work Items is the base of good project, especially if it contains a hierarchy. Hierarchy is in all projects and most tools which contain project management i.e. Look at MS Project. Of course you can almost use TFS without this notion and use Areas and Iterations, but it is harder to manage your projects if you can’t relate your Work Items with a true relationship.
Loïc Baumann created the tool for relating all your Work Items in TFS. After installing the MSI and configuring your Web Server and Work Items you're able to relate as you can see in this screen dump. Every Work Item Type can have its own icon which is pretty handy.
What is this all about? There are two simple answers to this question:
- WICreator is a standalone application that let a Team System user to create Work Items in a hierarchical way. You also have the ability to send existing one to a “Recycle Bin” to get rid of them (useful as you can’t delete Work Items).
- WINetwork is a web service triggered by the TFS Alert System when a Work Item has a field change.
The main purpose of WINetwork is to analyze the changes regarding to their environment, and then respond by modifying fields of surrounding Work Items. (E.g. when a child Work Item turned to Active, then WINetwork will turn the parent from Proposed to Activate)
Work Item Creator and WINetwork are both available in codeplex: http://www.codeplex.com/wicreator
Customize Work Items
Before you use those tools you need to some customization of the Work Item Types. To enable the hierarchy you have to add custom fields in your Work Item Types definition. Use the Process Templates Editor from Imaginet Resources or the one shipped with the latest Team System Power Tools.
Add the following three fields:
|ParentWI||integer||Cegedim.ParentWI||0||Relation between child and parent|
|FirstChildWI||integer||Cegedim.FirstChildWI||0||First child to display beneath a parent|
|NextWI||integer||Cegedim.NextWI||0||Order of Work Item, Relation between siblings|
What a nice tool. I could only dream of such a solution, but Loïc managed to build one. It will cost you some time to setup, even with the document and the use of Team System Power Tools, but when you finally manage to do so you can easily see how your Work Item is related in your project. One of the downsides is, it doesn't integrate in Team Explorer (VSTS) even I like his Click Once thought and the other is, the hierarchy can't be related to MS Project or Excel yet. Furthermore it would be nice if there was a relation between the hours of all items and the ability to only start a new work item if previous work items are finished. So it's up to us TFS lovers or MSFT'ers to support Loïc. For the record it's only downloaded 17 times. Shame on you TFS gurus out there.