TFS Custom Work Items – Lessons Learned

  1. Work on a dummy TFS project that you can delete. Delete the project before you deploy for production.
  2. Not all the attributes for Work Item layout are documented.  
  3. A Work Item Type defined in more than one project is sort of shared between the two. The definition can be different, but the name is shared. So anything you want to change or remove in one has to be done in the other. See item 1.
  4. Work items are not easy to delete. It can only be done through the database. See the SQL statements for doing removing work items. I found a GUI tool for this, but ultimately it was executing the SQL statements.
  5. Work Item Type fields are not easy to modify. Essentially you have to delete it and re-add it. The basic steps are:
    1. Remove the field(s) from the Work Item Type XML definition (both field and in the layout)
    2. Re-import the Work Item Type XML so the definition in use no longer contains the field(s)
    3. Delete the fields using the TFS command line tools. This also deletes any data you had stored for existing work items using your custom type.
    4. Re-process the cube using the TFS web service
    5. Update the Work Item XML with the updates you need
    6. Re-import the Work Item Type XML


Of course, after-the-fact I found a good overview of the custom Work Item process.

Posted in TFS