Remote Desktop Connection Manager – Making this TFS Admin Smile Every Day

by Angela 3. August 2015 12:49

So I regularly have a handful of RDC sessions open to administer the various servers that make up TFS on-premises instances including the application tier, data tier, build server, test controller, agents, etc. Doing this with the build in Remote Desktop Manager can be a bit cumbersome when you need to have quick and easy access to multiple servers at once. Sure there are lots of little tricks you can do with saved profiles and desktop shortcuts, but I needed something better. A coworker of mine turned me onto a free Microsoft tool called Remote Desktop Connection Manager. Maybe you already knew about it, if so keep reading anyway because I’ve discovered a few configuration settings that were totally necessary for making the tool really useful, particularly with multiple monitors where you can run into wacky issues with resolution.

First thing I did was create a profile, only this profile can save all of the settings for all of the servers you need to connect to for a given client. Need to switch clients, no problem, just choose a new profile and suddenly the view refreshes and the tree view has a whole new set of servers at your fingertips. Below is an example of my current client environment, complete with AT/DT, build, test controllers, and both automated and manual lab environment machines.


Each server has its own settings including things like logon credentials, display settings, encryption, etc. Your best bet is to set most of these things at the root level, which then applies those same settings to all servers beneath it. HUGE for things like AD credentials where *generally* you are always logging in as you. Nice thing is, there’s a checkbox on every settings tab where you can turn inheritance on or off, in the cases where you may want to save a server profile with alternate credentials.

This does happen to me when I am troubleshooting controllers and agents, and need to login with a different level of permissions. In that case, I may have the same server in the tree multiple times, but each one uses different credentials to connect. And my alternate login profile will NOT inherit Login Credentials from the root. Super convenient, just double-click and you’re in!


A few other handy things that I recently learned are how to get it to ACTUALLY full screen. Again I set this at the root and inherit because I want all of my servers to act the same. Because I have a second monitor that is unfortunately not capable of the same resolution as my laptop, with the default settings I can’t really ever full screen mode the remote server, AND if I drag the remote viewer from one monitor to the other it freaks out. To prevent this, and keep the server window docked at full screen in whatever monitor it is in, setup your Display Settings like the following (the first two settings need to be checked):


The other thing I was constantly struggling with was navigating Servers running Win 8.0clients + or Server 2012. I use a track pad, and getting those charms to pop up and switching between the desktop and the tiles when you can’t just use the native keyboard windows key or charms menu could be really frustrating. If you want to make your life easier, make sure keystrokes are always sent to the remote computer. So in this case go to Local Resources, and make sure that Windows Key combos is set to “on the remote computer”.


I need to bring some donuts to my friendly local sysadmin for that nugget. I’m sure it’s well documented somewhere, but I had missed this one and it made a big difference for me!


That’s it. Hope that makes your life easier, whether you are a TFS admin or not Smile


Application Lifecycle Management | ALM | TFS | TFS 2008 | TFS 2010 | TFS 2012 | TFS 2013 | TFS 2015 | TFS Administration | Team Foundation Server | Productivity


Still Running TFS 2010? It’s Aging Out of Support Next Month. Polaris Solutions Can Help You Upgrade Quickly

by Angela 4. June 2015 12:04

You heard me correctly, mainstream support for TFS 2010 ends on July 14th, less than 6 weeks from today! So if you’re thinking “it still WORKS, why should I upgrade?” Consider these points…

  • Any issues arising with your server will NOT be patched or serviced by Microsoft support, and it will be harder and harder to find experienced people to work on it (well, who WANT to work on it)
  • Your infrastructure team may be chomping at the bit to stop supporting the old operating systems and SQL Server versions that TFS is running on
  • You’re missing out on some amazing new capabilities that it would take me hours to cover and that I promise will revolutionize the way you develop and deliver software
  • You attract great new talent by offering robust and modern development environments, trust me on this
  • I can tell you from a LOT of personal experience, that the longer you wait to upgrade, the harder and more time consuming it is!

The good news is that you may qualify for up to $5,000 worth of free services to help you plan and prepare for your upgrade through the Microsoft Deployment Planning Services program (DTDPS)! Wondering what that is? Below is a quick FAQ that I created to explain the program:

Now what exactly IS DTDPS? Well first of all it’s a Microsoft offering, so expect MANY acronyms to follow. DTDPS stands for Developer Tools Deployment Planning Services. Specifically, the development tools that these services are meant to be used in conjunction with are the Microsoft Visual Studio ALM platform - Team Foundation Server, Visual Studio, and Microsoft Test Manager (TFS, VS, and MTM for good measure). 

So what does this really do for me? While most people are already very familiar with Visual Studio from a .NET development perspective, many people who own the other tools within the TFS platform are not taking full advantage of them. DTDPS is the solution to this problem, connecting customers with the right partners to make sure they are getting the full value of their ALM investment. Software that sits on the shelf is a huge waste of money.  And from Microsoft’s perspective is something you’re not likely to buy again, so it is of course in their interest to offer such a program.

What kinds of services are included in DTDPS? Currently there are 4 DTDPS offerings available: TFS deployment planning assessment, Visual Studio Quality Tools assessment, Visual Studio Agile Deployment Assessment, and Visual Studio DevOps Deployment Assessment. You’ll notice a theme here, the word “planning”. These engagements are not meant to be used to implement the tools. Instead, they are short, fixed-length (3 and 5 days) engagements for gathering data and analyzing your current environment and needs in order for us to help you build a plan for implementation and adoption of Visual Studio and TFS ALM tooling. It’s a great kickstart and will drastically accelerate your ALM initiatives.

But what if I don’t need one of those services, but need other assistance with TFS? Well, it depends. I know, I know, typical consulting answer. These programs can be expanded upon to assist customers with other ALM related concerns, so drop me a line at the email I provide below, and I’ll be happy to discuss it with you in more detail. 

Who delivers the engagement? DTDPS is a program delivered through certified and experienced ALM partners like Polaris Solutions to help customers with SA (Software Assurance) benefits to take full advantage of the tools they own.  We have delivered dozens of these engagements over the past few years and every customer we have worked with has been extremely happy with the valuable roadmaps that we delivered. You will benefit from a wealth of relevant experience and proven ALM practices that only comes from us having deployed and leveraged the tools in a large number of different environments and business verticals.

OK, I’m intrigued, but how expensive is it? It is FREE. Seriously, and absolutely.  This benefit is available to customers who purchase Microsoft products with SA, think of it as a rewards program. In fact, you may have DTDPS credits without knowing it!  Many of the customers I work with did not know they had DTDPS credits available until I turned them onto the program.

I want in! How do I sign up?  Start at the DTDPS site. Here you can peruse the various services available and see which ones are right for you and your organization.  Then check out the DTDPS QuickStart guide which walks you through the steps of accessing your benefits.  Then you just pick a partner to work with, like us, and you’re on your way to a better way of doing ALM!


If you are interested in learning more about DTDPS, or if you would like to find out more about getting a free quick assessment of the effort required to upgrade and the benefits that your team would enjoy, please contact me at Angela@PolarisSolutions.com. And if you know anyone still using an older version of TFS (anyone running TFS 2013 or earlier qualifies) help them out and point them to this blog!


The Many Templates of TFS

by Angela 23. January 2014 15:41

If you are a TFS user, especially if you are a TFS administrator, then you know that with every release of Team Foundation Server that there is a rev of the process templates. And if you work on a TFS server that has gone through a number of upgrades, it is possible that your Process Template Manager dialog will start to look like this:


So many choices!! Which one to choose? Ahhhhhhhhhhhhhhhhhhh… ::cough, cough:: Back in the early days, there were only 2 out of the box templates. I know, craziness! How did people survive with only Agile and CMMI? Well, there were always the custom templates that you could get off the internet, but that is a can of worms I am not opening in this post.  For now I want to focus solely on the OOB templates.

Over the years, the templates grew up, work item types got added, fields got renamed, workflows got streamlined, and in 2010 a new template was born. But who can remember which one came out with which version of TFS? Usually it’s not a big issue until you are working on a server with lots of legacy team projects, and you need to know what the original base template was. Pro tip, the TFS Team Project Manager can really help you to answer this question AND we found a bug that they recently fixed allowing you to compare 2013 templates all the way back to 2008 templates! Well, I started keeping track, and I get asked questions about this often enough that I figured I would just share my reference.

TFS Version CMMI Agile Scrum
2005 MSF for CMMI Process Improvement 4.0 MSF For Agile Software Development 4.0 N/A -- 3rd party
2008 MSF for CMMI Process Improvement 4.2 MSF For Agile Software Development 4.2 N/A -- 3rd party
2010 MSF for CMMI Process Improvement 5.0 MSF For Agile Software Development 5.0 Visual Studio Scrum 1.0
2012 MSF for CMMI Process Improvement 6.0 MSF For Agile Software Development 6.0 Visual Studio Scrum 2.0
2012.1 MSF for CMMI Process Improvement 6.1 MSF For Agile Software Development 6.1 Visual Studio Scrum 2.2
2012.2 MSF for CMMI Process Improvement 6.2 MSF For Agile Software Development 6.2 Visual Studio Scrum 2.2
2013 RC MSF for CMMI Process Improvement 7.0 MSF For Agile Software Development 7.0 Visual Studio Scrum 3.0
2013 RTM MSF for CMMI Process Improvement 2013 MSF For Agile Software Development 2013 Visual Studio Scrum 2013
2013 Update 2 MSF for CMMI Process Improvement 2013.2 MSF For Agile Software Development 2013.2 Visual Studio Scrum 2013.2


Now, I don’t *think* I have missed any versions here.  All of the major TFS releases, and some minor releases, have been covered.  But I’d love some feedback if you notice any minor versions that I may have missed. And I’ll come back and update this when TFS inevitably gets another update, and another rev of the templates :)


Agile | Application Lifecycle Management | ALM | Scrum | Process Methodology | SDLC | Team Foundation Server | TFS | TFS 2008 | TFS 2010 | TFS 2012 | TFS 2013 | TFS Administration | TFS Power Tools | CMMI | Process Templates


Quick Tip on Debugging TFS30139 Issues

by Angela 12. December 2013 17:27

I’ve had a few people I know run into this recently, and there does not seem to be a lot of guidance out there about process template customization, in terms of troubleshooting or tips and tricks. While running through process template updates to move clients from TFS 2005/2008/2010 to TFS 2013 I would occasionally encounter one of the annoyances of working with XML by hand:


Oh THAT is helpful.  And if you’ve ever seen the contents of a process template you know this could be one of about a million different problems in hundreds of files.

Now if you do a lot of template customizations, well just stop it, right now, please. The more you customize the more you need to maintain, the more you potentially have to upgrade by hand when you move to a new version of TFS.  There are times when heavy customization is necessary, but I often find people customize without understanding what the OOB template does in the first place. Unless you are checking your templates into source control, being very methodical about isolating changes and testing, and commenting your changes just like you do with your application code, you’re going to run into problems during upgrading. But chances are you’ve already gone down the path and here you are…

Enter TFS consultants. I prefer to do most of my process template editing directly against the XML using Notepad when I can. I know, it’s a bit old school, but there are a lot of us out there so I figured why not share? Inevitably, you misspell something, miss a closing bracket, enter an errant blank space where it does not belong, the common XML “bugs” that can be really difficult to track down.  And as you know, Notepad does not have a debugger.  So like me, I’m sure at some point you’ve tried to upload an updated process template using the TFS Process Template manager and seen the dreaded “TFS30139: The process template is not configured properly.” ::SIGH:: Now what? Well, if you followed my previous advice and were methodically checking in distinct changes, you know what you last changed. Kind of like CI for process templates :)

Enter the power tools. The TFS Power Tools contains a great process template editor that you can use in place of a lot of the command line tools for importing and exporting work item type definitions. You’ll need to install it on a machine running Visual Studio Professional or better, FYI.


It gives you some great visualization tools, allowing you to edit fields, configure the forms, visualize and edit workflows, states, and transitions, and an easy way to open and dig through all the nitty gritty details of everything else that a process template entails too.  As an added bonus, it will give you MUCH better error diagnosis information if something is wrong. So for the previous error, I attempted to open the process template. But this time I got a much more friendly message, pointing me at the issue:


Because I knew that the last thing I changed before my last successful upload of the template was the ProcessTemplate.xml file. I knew exactly where to look and lo and behold, I’d left off a closing bracket at the exact location specified by Visual Studio. So I made the quick fix, successfully imported the updated template to the collection, and checked in the updated template file to SCM. Much better!


There are lots of potential tools and editors out there for process template editing, and everyone develops their own style. I often find myself leveraging several different tools in conjunction during a process template upgrade, it can be a lot of trial and error.  They all have advantages and disadvantages, I’ve tripped over a few myself (like this little quirk with the Team project Manager extension if you’re trying to compare 2008 and 2013 templates). I should blog about some of those adventures too :)

Hopefully this gave you some new options you may not have been aware of before.


Say Hello to Chicago’s Newest ALM MVP

by Angela 3. October 2013 20:35

I’m totally stoked to be the latest Chicagoan to be named an ALM MVP. There are currently only 114 ALM MVPs worldwide (that I see on the site anyway), and I am proud to be counted amongst these awesome folks. Sadly, the site is not quite updated so you won’t see yours truly listed just yet.

Wait, “what the heck is an ALM MVP you say?” I know, that is a lot of acronyms there.  In case you’re not hip to Microsoft lingo, that’s an Application Lifecycle Management Most Valued Professional.  This essentially means that in the areas of ALM (TFS, Visual Studio, Microsoft Test Manager, SDLC, etc.), I’ve made significant enough contributions to the community at large to get some serious props. And it’s been a fun ride, and I certainly don’t plan to slow down :)

This is not to say I know EVERYTHING there is to know on the topic of ALM, oh how I wish there were enough hours in the day.  But on any given day you’re likely to find me Installing/upgrading/customizing TFS, scouring MSDN forums, leading a class through the ropes of agile development, or perhaps giving a talk at a local user group on adopting a new ALM strategy in the real world.  I’m definitely passionate about what I do.

Anyway, that’s it for now! Just a little update on the latest excitement in my professional life.  Hope to catch you at a conference or user group near you soon! And don’t forget to stop by the Chicago ALM User Group sometime.  We will be posting details on out October meeting soon!


And because I’m always striving to do thing my mom can brag about, here is a picture of me being all giddy about my award :)



ALM | Application Lifecycle Management | VS 2013 | VS 2012 | VS 2010 | Visual Studio 2013 | Visual Studio 2012 | Visual Studio | TFS Upgrade | TFS 2013 | TFS 2012 | TFS Administration | TFS 2010 | TFS 2008 | TFS | SDLC | Process Methodology | MSDN


Receiving Random 403 Forbidden Errors on Your TFS SharePoint site? I Was.

by Angela 24. September 2013 16:57

So let’s start by explaining what was happening. I had just unraveled a mess of TFS/SharePoint/Reporting security that rivaled improperly-put-away-Christmas-lights levels of tangled.  All kinds of duplication, broken inheritance because of inexperienced admins adding individuals (instead of the AD groups I had setup) at every level of the SharePoint hierarchy, you name it!  So one day I get a head-scratcher of an issue from a business user who is customizing a TFS SharePoint portal for a project.

They were trying to edit the queries behind a couple of custom TFS web parts and were getting “403 Forbidden” errors at seemingly random times.  It would work on Monday but be broken on Tuesday and work again Wednesday.


I was not getting that error, but of course I am god of everything as the TFS admin, so there is little I cannot do.  But I also noticed not many other folks were experiencing the issue, well, to be precise not one other person was receiving the error.  In the same AD groups, in different AD groups, nada.  I verified all of the groups this person belonged to, checked and rechecked his AD group membership, made sure SharePoint still had all the correct security inheritance in place. Nothing was out of place. And every once in a while the user would be able to complete that same action again without the error. Seemingly, whenever I went in and performed the action he was being denied. What the WHAT?!? Now I was *really* intrigued. 

Needless to say, we did fix the issue, but not without some serious internet scouring. I was about to post to MSDN forums when i stumbled upon the issue.  This obscure Microsoft Support post fixed our problem.  So I should note for background purposes that this TFS instance began as a 2008 installation running against a super old version of WSS.  It has been upgraded twice, by me, and we are now happily running on TFS 2012.3 with WSS 3.0, and hopefully soon to be TFS 2013 and the latest release of SharePoint Server. The server had SURELY gone through the security updates described in the Support post.  But since no one used the TFS SharePoint sites until I came along and fixed all of the security, no one had encountered this super old issue until very recently. Luckily I was on-site when it did, because while frustrating, it was also fun to troubleshoot.  I am weird that way :)


Application Lifecycle Management | ALM | TFS 2012 | TFS 2010 | TFS 2008 | TFS 2013 | Team Foundation Server | TFS | TFS Administration | TFS Upgrade


Upgrading Team Projects from Agile 4.2 to Agile 5.0 on TFS 2010–Part 3, Swapping in the QoS Requirement

by Angela 28. March 2012 07:33

So if you’re reading this you are probably finishing up my 3 part story about updating a process template from Agile 4.2 to Agile 5.0 on a TFS 2010 server.  This is the last installment where I embarrass myself further by sharing one more stumbling block that I encountered along the way.  So now we have all of our awesome tools installed, we downloaded Hakan’s script, we got our work item definitions imported and updated, and finally added our trusty old Quality of Service Requirement to the new Requirements Category in the process template.  Everything was working beautifully until I went and tried to link a QoS Requirement to a Test Case. Cue Sad Trombone again…


This was certainly not handled in any script, and I couldn’t find any documentation of it on MSDN, so hey, maybe this is something actually NEW in terms of guidance Smile  As soon as I saw this I knew what was happening.  I was pretty sure that somewhere there was some XML specifying what work item types were allowable in that dropdown, and my guess was QoS Requirement was not one of them.  I would have thought it was covered in the updated TestCase.xml used by Hakan’s script, or that maybe it was using the “Requirement Category” from Cateogires’xml but that would have covered QoS Requirement.  I double checked and it was not.  Here is the xml included with the script, note only “User Story” is allowed here:


I went ahead and made a little tweak so that QoS Requirements were allowable for the “Tested User Story” functionality and re-imported the TestCase work item definition using the Power Tools.  Essentially all I had to do was add my work item type to the TypeFilter node in the XML:


And now when I click “New” or “Link To” from a TestCase work item, I have access to my Quality of Service Requirements, HUZZAH!


Now, I am sure this is intentional. I assume in most cases you really only want “User Story” type work items to be linked in this particular tab, but for our purposes this is what we are looking to do.  I was a little curious as to why Hakan’s update script did not include the User Story work item type definition…  But hey, at the end of the day I demystified some more of the “magic” going on behind the scenes in TFS.  I am currently digging in a bit more to figure out if it makes sense to add User Stories to these upgraded Team Projects as well, since there are some very different fields and metadata being collected on them.  As I mentioned before, these are mostly inactive projects I am “experimenting on” so I’d love to hear and feedback or opinions on what you have done with your own projects.

OK, one last pro tip before I go. How often do you get an error dialog from TFS or VS, and you want to Google or Bing it, but now you have to type in all of the text by hand and hope you don’t miss a letter or number?  For me, daily!  *Sometimes* you can copy and paste the test, sometimes there is even a tool or link to let you copy it, but often times you are on your own. I totally ran into this on accident the other day.  So in OneNote you have a great screen capture tool that will work in any app, even on the desktop.  Make sure you have opened the OneNote app at least once, and seriously if you haven’t you’re crazy cause it’s the only tool I use for taking and sharing notes.  Hit Control+S, drag the cross hair around what you want to capture and let go. Copy the image to your clipboard and paste anywhere.  Cool huh? It gets better.  I noticed if you right click an image, you get the option to “Copy text from picture”. I saw that and thought, “no way that works!”, and lo and behold it does.


You’re welcome Smile

That’s it for now, hope you learned something in reading about my adventures in process template upgrading.


Part 1 – Process and Tools

Part 2 – Field Mismatches


ALM | Agile | Application Lifecycle Management | MSDN | Power Tools | SDLC | TFS | TFS 2008 | Team Foundation Server | TFS 2010 | Test Case Management | VS 2010 | Visual Studio | Work Item Tracking


Upgrading Team Projects from Agile 4.2 to Agile 5.0 on TFS 2010– Part 2, Field Mismatches

by Angela 28. March 2012 07:05

So hopefully you’ve already scanned through this other post where I cover the overall process I used for doing my updates. It also has some great tips and tricks for making the whole job easier using a few free tools, as well as a few links to helpful blogs and MSDN resources to save your sanity! So, that being said, here are some of the issues I encountered during my upgrade, and how I was able to work around or fix them.  Again if you are using Hakan’s script and just running as-is, you might not see some of these errors.  I just figure you learn more by screwing up, and I was working with some test projects and so had the luxury of being able to try out several different strategies without affecting anything critical, and so I did a lot of things by hand first.

First stumbling block I encountered during the upgrade was a weird issue with inconsistent “friendly names” for some of the fields.  Essentially, I had some naming collisions when I tried to import some of the new artifacts like SharedStep.xml and TestCase.xml.  You might at some point encounter an error message similar to “TF26177: The field XxxXxx cannot be renamed from ‘XxxXxx’ to ‘Xxx Xxx ’.” In other words, “Area ID” vs. “AreaID”, “Iteration ID” vs. “IterationID” and a few others.


The ones I was importing had field names that didn’t match EXACTLY. Now I started thinking, “But I am just re-uploading the work item type definitions that TFS was ALREADY using. They should be exactly the same right?”.  I opened up the work item type definitions (thank you TFS Power Tools) and found that indeed, some of the field names did NOT match the ones on the server. You’ll note in the screen shot below that in just a handful of cases, a blank character was missing from the field name, so the import process sees this as a rename attempt. You are looking at a new Agile 5.0 Team Project work item definition on the right, and the standard Agile 5.0 Team Project work item definition used to create that new project on the left.


In essence, what I ended up having to do to rectify this was to go in and modify the work item template definitions for the appropriate work items to ensure that the field names being imported matched the field names on the server, before attempting to import them again. For me, it was an issue in both the ShareStep and TestCase work item type definitions, but certainly didn’t take long to fix.  Once that was done, I had success! 


UPDATE: Turns out some of the fields being used were of course already defined on the server from the previous implementation of TFS 2008, and when TFS 2010 was released a few of the names had been altered slightly. After struggling with this for an hour or two and somehow not running across the documentation stating that this was a known issue, I eventually figured out the fix on my own.  Today, I was kindly pointed to a couple of places where this was documented, including a post by Gregg Borr that was pretty much written specifically to address this very situation ::facepalm::

Last thing we need to do is update the categories.xml. Silly me tried just importing the Categories.xml from the Agile 5.0 template which will of course NOT work because 4.2 requirements were named a bit differently than 5.0 ones.  You’ll see something starting with “TF237059: The import of the category definition failed” because the new Categories.xml will refer to “User Story” and what you have is a “Quality of Service Requirement”.  I opened up the XML provided with Hakan’s script because I was wanted to verify what was happening, and what I was doing wrong, and was not shocked to see that it was essentially updating the “Requirement Category” to support the new world order of work item types. RTFM Angela, RTFM.  Here is what you will see in Hakan’s updated Categories.xml file:


So now my categories were imported correctly and I was feeling good but had to do some testing as I was SURE I would encounter some additional problems once I dug into Visual Studio and Microsoft Test Manager and started creating work item types in the new and improved Agile 5.0ish Team project.  It was definitely a trip seeing the co-mingling of the 2 versions of the Agile template in the Team Explorer:


For the most part this all “just worked”. I created work item types, linked them together, created hierarchies, opened them in Project and Excel and made changes and published. Life was good.  And then I tried to link a TestCase to a “requirement” in my new world. Wah, wah, wah, waaaaaaaah.  Check out my third post for details on how I managed to fix this.  Again, it could very well have been something I did wrong but it was a lesson learned…


Part 3 – Swapping in QoS Requirement for User Story


ALM | Application Lifecycle Management | Agile | MSDN | Power Tools | SDLC | TFS | TFS 2008 | TFS 2010 | Team Foundation Server | VS 2010 | Visual Studio | Work Item Tracking


Upgrading Team Projects from Agile 4.2 to Agile 5.0 on TFS 2010–Part 1, The Process & Tools

by Angela 28. March 2012 06:51

So, I am NOT calling myself the absolute guru of Team Foundation Server work item tracking or process template upgrades just yet, but I did learn a ton during the process and wanted to share my experience in case you can glean some wisdom from it.  Now I leveraged a LOT of content written by other VERY smart people from the TFS product teams so I try to be sure to give credit where credit is due. I experienced some bumps and bruises along the way because I was following at least 5 different sources on the internet for the upgrade and they did not all contain the exact same info.  Since the same things might trip you up, give the post a quick run-through all the way to the end.  I know it’s a lot to sort through, but you’ve probably played Mine Craft for hours at a time so I am sure you can handle this. Also, I broke it into 3 parts since there is so much to cover and it WAS getting a bit ridiculous, even for me Smile 

We (Polaris Solutions) have a TFS 2010 instance that has a lot of legacy TFS 2008/Agile 4.2 Team Projects on it. I have been working on getting all of those projects upgraded to be more in line with the newest Agile 5.0 templates so that we can take advantage of some of the great features of TFS 2010 like Test Case management, hierarchical work items, new relationship types, and more. Now my life was made easier by the fact that this particular instance was not running SSAS/SSRS or SharePoint, and the original Agile 4.2 templates were unaltered, so really I was only concerned with making basic updates to the process templates and didn’t have to deal with reporting, merging customizations, or enabling the agile planning workbooks. But I still ran into some snags…

So, first thing is first, dump that chump command line and get a more functional one. You’ll spend some time at the command line so might as well not have it be painful.  I seriously owe Scott a big box of Sugar free brownies or something for this. Rocked my world!  If you’re not a fan of the command line, download the TFS 2010 Power Tools which will give you a lovely GUI interface for doing things like downloading your process templates and exporting/importing work item definitions and global types.  I actually switch between them depending on the task.  Also, the Power Tools just got updated in December of 2011, and some of the new features will bring a tear to your eye.

Next, download Hakan’s update script. Make note that you must be upgrading from a virgin Agile 4.2  process template to a 5.0 one to be able to just run it and be more or less done. If you have some customizations the script will still come in handy but you may need to tweak it, or reverse engineer your customizations back into the resulting template. Hope you documented all those changes, hehe. But don’t panic, the first thing his script does is back up your original template before changing it. Like I said, he’s a smart dude.  Here is what you will see when you grab the zip file and unpack it:


It includes a batch script to execute all of the necessary backup and import operations, a new Categories definition, 2 new link types (TestedBy and SharedStep), and new (SharedStep, TestCase) and updated (Bug, Scenarios, Task) work item definitions. Even if you decide not to use his script, these files could come in handy for manual updates as well, so I suggest grabbing it nonetheless.

Now honestly, I’m not one for blindly running ANY script, even one written by someone as awesome as Hakan, so I dug through his script line by line, looked at the artifacts it used, and compared it to the documentation on MSDN for updating old process templates to leverage new functionality.  I realized that the first couple of steps could be skipped altogether since I had some TFS 2010 projects in that collection already, and so things like categories and link types already existed.  You will see in a later post that this bit me in the butt Winking smile Uploading any of the template artifacts using Hakan’s script won’t hurt anything so long as you haven’t modified the ones on the server, import = overwrite in this case.  I did a lot of it by hand at first, using my spiffy new command line tool and the power tools just so I would understand better what was happening.  Once I was comfortable with that, I updated another project using Hakan’s script. Much faster process and way fewer errors, shocking right? Hehe.  I did run into a couple of errors that the script could not handle; one that I address in my next post that has to do with some “friendly name” value changes between 2008 and 2010, and another having to do with something that may or may not be a standard practice which I address in my third post.   For now my process is to start with Hakan’s script to get the imports done quickly, then make manual tweaks to bring the template the rest of the way in line to what we need. 

Now if unlike me you do also have SSRS/SSAS and SharePoint installed and need to turn on some other features, check out Aaron’s post and Allen Clark’s post on how to finish up the upgrade. Like I said, mine was a little less involved but those articles are widely held as THE ones to use as a guide if you find yourself in this situation as well. Hopefully I sprinkled in some tips and tricks to help you out as well Smile

One last thing you absolutely should have any time you need to work with process templates is a good compare tool.  I ran across 2 tools used for visualizing process template artifacts that saved my butt!  The first is the “Team Project Manager Tool” on CodePlex. Gives you a quick and easy way to look the XML in your template, do quick comparisons, but also includes tools to help you visualize/manage build templates, security and even source control. I love this tool SO MUCH!


And while in this instance I did not need it as much, the TFS Rangers Integration Platform Mapping Tool is a pretty neat tool and came in pretty handy too. When I had an instance where I wanted to quickly compare two WIT definitions and see how the fields mapped and where there were differences, it had some great visualization capabilities:


Well that’s it for my process and tools bit.  I have 2 more posts that cover issues I ran into with field mismatches, and making changes to allow for QoS requirement work items to take the place of User Story work items. They will be posted shortly!


Part 2 – Field Mismatches

Part 3 – Swapping in QoS Requirement for User Story


Visual Studio | Team Foundation Server | TFS | MSDN | Application Lifecycle Management | Agile | ALM | Work Item Tracking | Requirements Management | Test Case Management | SDLC | Power Tools | TFS 2010 | TFS 2008 | VS 2010

Powered by BlogEngine.NET
Original Design by Laptop Geek, Adapted by onesoft