Saturday, March 24, 2007

What's not in Team Foundation Server

Being a great improvement over tools such as SourceSafe and alike, I've been using the Team System products for over a year now. Microsoft has always been very good in delivering an integrated experience. Still, I do miss some essential features that should have been part of the product from the start (or at least made available since its introduction). Some of these items have already been mentioned in the Visual Studio Orcas roadmap, but that one is not expected to arrive before the end of 2007.

  • I'd like to differentiate between a work item that has been assigned to somebody and one that that person has actually picked up. The Agile process template does not support this. Not sure if this also applies to the CMMI process template though.
  • TFS supports linking work items to eachother. I'd love to get a hierarchical view from within the Team Explorer such as a list of all active scenarios and their corresponding tasks for instance.
  • It is very difficult to move work items between projects out-of-the-box. Fortunately, a community effort, the TFS Work Item Utility, allows you to do just that.
  • No rich editing support in the work item description; it seems the editor does support it (just cut-and-paste something from Word), but TFS removes the formatting upon the next save. The editor for adding comments does support it though. Just make sure you enable the Formatting toolbar. Now that I think of it, maybe its just a bug (although I'm using service pack 1).
  • TFS does not provide a web-based interface for managing work items. The WSS team site is there, and already provides several features of the Visual Studio Team Explorer. It is one of the most missed features that our customers complain about, so why not add work item management as well? And what about alternatives?
  • There is a free ASP.NET example project that you can get from CodeProject that provides basic work item viewing and creation.
  • A commercial solution is available by means of a product called TeamPlain Web Access. It really covers all the aspects you may wish. In fact, this is how Microsoft should have made it from the beginning.
  • Continuous Integration; although not supported out-of-the-box (yet, see Orcas roadmap), several rather succesful attempts have been made in the TFS community using the web service notification mechanism provided by TFS.
  • TFS has limited support for email notifications. For instance, project managers would like to receive notifications whenever a work item changes. And developers wish to receive an email when a work item is assigned to them. Since TFS supports an extensive notification API (based on web services and the infamous BisSubscribe command line tool), the limitation is really a GUI problem.
  • A very popular ready-to-use notification web service is available that will send an email to whoever gets a work item assigned to him.
  • The TFS Event Subscription Tool provides a decent amount of help on configuring the TFS notification database. However, the filters needed to properly limit the amount of notifications are still a challenge.
  • There is a notification web service template for Visual Studio that you can use to create your own notification service.
  • No integration with Windows Sharepoint Services 3.0; This is a major issue for me. Just imagine: on one side you have MOSS 2007 (based on WSS 3.0) which allows you to set-up many great portals for your Internet and Intranet publishing, and even some advanced team sites for your projects. And then, on the other side, you have a TFS team site, based on an outdated WSS 2.0, that basically allows you to do…barely anything. According to Microsoft they are planning this for the next version of TFS, but there's an unofficial guide on how to migrate to WSS 3.0. I haven't tried it myself, but it seems to work with just a few minor limitations.