This is certainly incredible. One day after I blogged about my complaints on Team Foundation Server (especially its lack of a web-based interface), Microsoft announced that they've acquired DevBiz Business Solutions
, the creators of TeamPlain, the best commercial TFS-based product available. And what's best, you can download
it for free starting right now! I'm sure going to try it first thing in the morning.
Oh yes, and not to forget, Microsoft released a new roadmap
for Visual Studio Team System, including the post-"Orcas" product, codenamed Rosario.
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.
; 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.
As I'm in the process of introducing NHibernate into a reusable architecture based on Microsoft's Web Client and Web Service Software Factories, I've been struggling with several decisions. Should I encapsulate access to NHibernate classes in some data access layer? Where do I keep its ISessionFactory instance in a IIS-hosted WCF service? Should I have default transactions for each service interface request? Who is responsible for committing or rolling back the transaction?
Anyway, while looking for best practices, I ran into a great article by Billy McCafferty that not only covers many of my issues, it also presents some great design patterns and ideas that I've been adapting since then.
Notice that his article mentions NHibernate getting support for C# Generics and Nullables soon. Well, I have been using version 1.2.0 RC1 for a few weeks now, and it works like a charm. You can now define associations as ISet<T>, ILIst<T> or any of the other generic collections, and using types like int? or float? is a natural choice as well.
Recently I was struggling to identify the roles of people within a project. Someone informed me that to correctly identify the roles and let people know what is to be expected by them the RACI method comes in handy.
Indeed the RACI diagram clarified my problem! Now hope the people assigned to the roles take their responsibility.
A good starter for reading about the RACI diagram is the Wikipedia
You might already have found out that Virtual PC 2007 has been officially released (see previous post from Dennis Doomen). After uninstalling the RC version on my Vista Business laptop, I immediately ran into the same trouble I had before: Virtual Machine Network Services will not install correctly! Last time I got so desparate, I did a clean install of Vista and immediately installed VPC afterwards with success. This time round, I poked around on the Internet a bit more, and found a solution on the Virtual PC Guy blog (it worked for me at least, see link below). Turned out that there's a invalid registry setting which caused all the problems: [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion] contains a REG_EXPAND_SZ entry called DevicePath that contains a reference to C:\inf. Changing this value to C:\Windows\Inf did the trick.
Virtual PC Guy blog entry
Every modern home needs a server. My home currently uses a Freecom Storage Gateway
(FSG) and it suffices for the moment. It had to be hacked a little bit to suit my needs, the file shares it produces out of the box offer very limited security options.
Now Microsoft showcased a new Windows Home Server
initiative in the latest CES
. This weekend I got my invitation to join the beta program. I'm not too sure that the Windows Home Server will perform better than the FSG, but I am looking forward to check out how Microsoft can compete with all other (often Linux based) offerings.