Friday, March 24, 2006

TFS - Work Item's and Customization

One of the primary concepts in TFS is the work item. Bugs, Feature Requests, Tasks, etc, etc all are Work Items. I’m not going to go into detail as there’s tons of great info from MS and others about Work Items...

As you know I have TFS installed and am playing with it. One of the early decisions I have to make is which TFS methodology I want to base my Projects on (which effects the available Work Items). While I feel my projects are more "agile" like (very short timeline, many iterations, light spec’s, customer/task driven, etc, etc), I think CMMI fits in my brain better.

I was raised on Bug’s, Change Requests, Requirements, etc, etc. And while I said my current projects are currently more agile like (I’ll not say chaotic... I’ll not say chaotic... I’ll not say...) I want them to grow up and become more manageable and the process more repeatable and dependable. Yeah, CMMI like.

Now that I’ve focused on a methodology, it’s time to tweak it. The Work Items in the CMMI box are close, but I want some different look up values, label names, etc.

This is where you can tell TFS is a v1.0. With a v1 you need to throw it against the wall and see if it sticks. You build in the features to make it "just good enough" and no more (well you start with a v3 like feature list, but in the end, cut, cut, cut... ;)

TFS v1 does a very cool job of rendering and displaying Work Items for filling-in and viewing. But it’s rough around the edges when it comes to changing the actual definition of the Work Item. Like if you want to change the values in the combo boxes, change field labels, etc. To edit the definition of a Work Item, out of the box, you’re using command line tools and XML editing.

The good news is that MS is already working on this.

For example, check out this very cool post/utility from Darren Jefford, VSTS Work Item Type Designer Preview. This tool leverages the cool DSL features of VS2005 to help diagram and visualize a work item’s fields and workflow. It doesn’t help in the importing or exporting, but that’s the easy part (once you know to use witexport and witimport)

"...Quite often customers will be happy to use these Work Item Type, but more often than not you may not like the terms we use such as Iteration, Milestone, etc. and you can change the names of any of the items on these Work Item Type definitions and if you want to collect further information you can add your own fields.

In Team Foundation V1, there is no graphical tool to customise these work items so you’ll need to use your favourite XML editor (normally notepad!) to customise the work item XML. The Work Item XML document is fairly complex and has lots of intra-dependencies so you have to be sure to get the spelling of everything right for example.

face=Verdana size=2>This type of workflow is very hard to visualize in an XML document which is where the VSTS Work Item Type designer comes in, I reference such a designer in my DSL Tools Chapter which is part of the Professional Visual Studio Team System book - it includes a screenshot of an early version of the designer.

The designer leverages DSL Tools and Visual Studio 2005, a Domain Specific Language model has been defined based on the Work Item Type Definition language and a graphical modelling tool has been overlaid on top

...


If your interested in trying the designer out then I’ve uploaded a current release of the designer to a new GotDotNet workspace.  This release works with VS2005 and it will install the DSL Tools Redist as required, you’ll also need to download the latest VS SDK (free once you’ve registered) as I haven’t got a Package Load key for VS2005 yet to enable it to load in a regular install of VS2005 (I have to jump through some hoops internally to get this done).

This release lets you open a Work Item Type definition that you’ve exported from Team System or created yourself and visualize it, you can add new States and Transitions, and new Fields (by right clicking Fields in the Model Explorer).  ..."

Installing it now. And while this preview is only that, a preview (it doesn’t save yet), it’s a good look at the cool stuff that is coming soon.

For today, to edit the labels and lookup’s I’m in witexport/import land.

I wonder how many thousand GUI command line wrappers are going to be written for
witexport/import in the coming weeks (I’m like 10 seconds away from writing one myself...)? I know there’s a TFS API, so I should be able to call it to get the Work Item XML instead of using the command line tools? That would be much cooler...

Also I need to hunt down the schema so I get intelisense in VS when editing the work item’s xml...

Man, I LOVE this stuff.... ;)

Related Past Post XRef:
TFS Lesson #2 - Listen to my own advice...
TFS SQL Databases Moved... One Tip, Remember the DB Owner
"Moving Your Team Foundation Server Deployment"
My First Soup to Nuts Team Foundation Server Install
TFS Check In Policies, Code to Police Code
"An updated TFS MSSCCI provider is available"
VS6 MSSCCI Provider for TFS
TFS Administration Tool
"Migrating from Visual Source Safe to TFS"
"How many users will your Team Foundation Server support?"
Team Foundation Server 2005 & the "New" MSDN Universal

Technorati Tags: , ,

No comments: