I have a new favorite tool for managing and administering a Team Foundation Server environment from day to day. It has been so helpful both internally with administering our TFS environment but also as I go from site to site. A great part about the tool is that the source code is completely available with an open license for use. The product is maintained transparently and there have been a few occasions where I will request a feature and it’s literally done and released the next morning when I wake up.
Introducing the TFS Team Project Manager on CodePlex! It’s a tool that helps you take care of common administration and maintenance tasks across lots of multiple team projects. I have found it to be so useful in tons of different ways. One of them is something that I’m particularly finding useful this week with a customer that is upgrading from Team Foundation Server 2008 to Team Foundation Server 2010. They have 117 team projects on their instance and as you know, it can get tedious to manage that many team projects. This tool helps out in scenarios like this. We’ll talk with them later about potential consolidation of all of those team projects though!
One of the things I need to do is figure what’s the best course of action after upgrade for the work item type definitions (and other process template features) for all of the existing team projects. Everyone will be functional if we don’t do anything but I wouldn’t mind giving the teams a few of the new features in TFS 2010. The feature of TFS Team Project Manager that can let me get a good sense of where the team projects currently sit with their process template choice & customizations is a “Compare” feature for work item type definitions.
The way that it works is that you load up different sets of work item type definitions from a process template. You can even use an existing team project’s work item type definitions as a base set as well.
Once you have defined a few different sets that you want to compare against, you just select the team projects that you want to compare and click “Compare Team Projects With Sources.” The tool has a fairly rudimentary compare algorithm but the summary & detailed data you can get is very handy. It’s pretty magical if you were to ask me.
The grid lists all of the results including:
- What is the best matching process template based on the source sets that are available?
- What is the best matching percentage?
- What were matching percentages for the other source sets of process templates?
Initially seeing the results may uncover a little chaos in your TFS environments. That’s okay because there are options. You might want to tame some of that chaos by moving your process templates and storing them in the version control repository. Once it is in version control, you can attempt to “merge” similar process templates together as best as you can and consolidate. You could then use my handy custom build process template for managing deployments of changes to the process templates to existing team projects on your system.
Shameless Plug: We end up talking about these concepts in our book, Professional Team Foundation Server 2010 by Wrox if you are interested in more information!
First, I like to sort by the “Best Matching Percentage” column in the results to see which team projects have attempted to go off the path and made individual customizations. I don’t really need to worry about the other ones because I can take care of them in bulk. The key in this particular case is to get them to same the base so that we can deal with them altogether in bulk after the upgrade. (Customer’s Desire)
If you want to dive into a little more detail for any of the rows, you can choose “View Comparison Details” or double-click the row entry to pop up a great dialog that will help you with understanding the changes even more. You can see which work item types are changed and if you can even open up the changes in a diff tool that is configurable.
There was even a new feature implemented last night that detects whether you have Visual Studio vNext (currently Visual Studio “11” Beta) and will use that nice new diff & compare experience in Team Explorer!
How about that? This just makes things a ton easier for me!
This tool has a lot of other great features for TFS administration tasks across team projects. that I’ll talk about in the future. Just wanted to mention this one and how useful it can be! Please make sure that you Donate to Jelle Druyts if you find the tool useful to you as well. It’s absolutely free and he puts a lot of work into keeping the project going. At least buy him a drink for his hard work!