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


Chicago Visual Studio ALM User Group VS 11 Beta Load Fest this Wednesday at the Aon Center!

by Angela 12. March 2012 11:49

If you are joining us in Chicago this Wednesday for the VS 11 load fest, I am assuming your plan is to install the bits and get your hands dirty as quickly as possible. We will have a few external hard drives that we can pass around to make getting the bits on to your machine fast and easy, but if you don’t want to wait that long you can also get the bits in a number of places on-line.

If you don’t have the luxury of a PC you can install the Beta bits on, there is also the option of using great Hyper-V image that Brian Keller posted to his blog a couple of weeks ago. It includes VS 11 Ultimate Beta, TFS 11 Beta and Test Pro 11. It even includes some great Hands on Labs to walk you through some of the new capabilities. If you have Windows 8 or Windows Server running, this is by far the fastest and easiest way to get your hands on it.

If you don’t have MSDN, you are in luck because the VS 11 Beta became publically available on February 29th.  All freely available VS 11 Beta Tools can be found here.  The list of available bits can be overwhelming so at a minimum I would install:

· One of the server versions:

· One of the Visual Studio IDEs

· One of the Team Explorer Clients

· If you want to get crazy, here are 2 other great tools to try out:

If you do have an MSDN subscription, you have a slightly wider range of bits available to you.  Login to your MSDN subscription here and go to Subscriber Downloads where you will have access to all of the bits for the various products.  If you don’t have an MSDN subscription or are wondering “why on earth would I want one?”, I spent a little time on my blog today waxing philosophical on that point for you J

Looking forward to seeing you Wednesday, and please don’t forget to email me if you need to back out so we can adjust the food order! And if you haven’t RSVPd yet, what are you waiting for? Winking smile


ALM | Application Lifecycle Management | MSDN | TFS | Team Foundation Server | VS 11 Beta | Visual Studio | development


Hey, are you letting you MSDN benefits go to waste? I bet you are…

by Angela 12. March 2012 11:25

WARNING: This is a bit of a rehash but since I lost access to my old Microsoft blog, I thought it was worth a refresher. 

I have always been passionate about being thrifty. I’m by no means an extreme couponer, cause let’s be clear, I am also LAZY. But some things are just no brainers…  Like using your MSDN benefits. I know, it sounds weird, but don’t run off just yet, I promise it’ll be worth a few minutes of your time.

First caveat I am going to issue is this: I am not a Microsoft sales or licensing expert so I cannot sell this product to you, or tell you what you own today, or how much it would cost to buy it.  I CAN however, connect you to someone who can help you find out that kind of information so feel free to ask if you have questions.  As a technologist who regularly leverages MSDN as an end user, I CAN tell you that it is chock full of awesome.  So, on to the post…

I used to work for Microsoft, and I had the opportunity to meet with hundreds of customers, which means thousands of developers.  Most, if not all of the customers that I spoke to had MSDN and were simply not using it.  Sometimes they simply didn’t know they had it, in other cases they didn’t realize how much value it had to a developer and just never got around to setting up access, and in a few cases the company was just so big that they didn’t feel they had the bandwidth to roll it out and manage it.  Every one of these companies is actively in a mode to save money and “do more with less” which almost always translates to no training, no tech support, nothing new and shiny for the folks in IT.   And yet they are NOT using the MSDN they already paid for.  This is where my head explodes a little O.o

As a developer I simply couldn’t function in a truly productive way without using my MSDN benefits.  I am on the forums and using my support and training on a regular basis, sometimes daily depending on the project.  Financially it’s also quite a deal when you look at what is rolled into it!  In the past few weeks I’ve downloaded SQL, several operating systems and all of my developer tools.  All included, no extra charge.  And in some cases you get bonus downloads that other folks don’t have access to!

So let me start by explaining what MSDN is, because no, I do not simply mean the general MSDN library that you probably hit every day to look at documentation, knowledgebase articles, etc.  The Microsoft Developer Network Subscription serviceis what I am referring to.  It is a bundle of software and services that may get purchased along with Visual Studio by you or your employer.  It includes a number of VERY valuable resources and products such as:






Just to call out a few of my favoritest (it’s a word!) features:

  • TFS Server and CAL for development, test and production use.  That’s right, you heard it. You can use TFS for production use with your MSDN subscription at NO EXTRA COST.  Want to know more about TFS, check out our website, then email me for more information and to setup a demonstration. It’s what I do.
  • Production rights to Office Ultimate, if you have MSDN with Visual Studio Premium or Ultimate.  Having Office OneNote alone makes it worth MSDN, for real. It’s the Ultimate Planner and note taking tool that I was introduced to back in my Business Analysis/Requirements gathering days.  I couldn’t survive without OneNote. If you haven’t seen it, I highly recommend giving it a test run.  You’ll never use Notepad for note-taking again.
  • Support incidences – as in you can CALL SUPPORT if you get hung up on something in development or test environments. Don’t sit in forums all day, tearing your hair out trying to solve issues you encounter with our tools or programming languages anymore. USE your benefits.
  • E-Learning – FREE training. You’re always looking for free training aren’t you? No more excuses, here it is! New courses are being added fairly regularly, and you will find a wide variety of topics are covered including Windows Security Essentials, SharePoint Services .NET Framework, Visual Studio 2010 Testing Tools, Active Directory and more…
  • Unlimited priority support in the MSDN forums. That’s right, the place you probably go anyway. You get special treatment. It’s like having a Flash Pass at Six Flags only WAY cooler.  And now that I no longer work for Microsoft and can’t just call up Brian Harry and say “Yo, why am I having issues with TFS branching?”, cause you know I totally did that, OK I didn’t but still. I have already used this feature a LOT as a consultant in the field. It’s worth its weight in gold-pressed latinum.
  • And remember - many benefits, like eLearning and support incidences regenerate every year you have MSDN, but they do not rollover. Azure benefits are reset every MONTH!  So you snooze, you lose.

There is a lot more to MSDN, I’m really just enticing you with some of my favorite features. Feel free to check out the rest of the benefits you may be passing by on the MSDN Subscriber benefits site.  And hey, if you’re not impressed then maybe you know everything already, and you never encounter issues with Visual Studio, Office, .NET or any of the other tools you use day to day to get your job done. Right, I thought so.  Check it you, and if you suspect you *might* be entitled to it, find out for sure and then get signed up.  You won’t regret it. 

While many new changes are coming with the new product line in Beta right now, this slide deck should be MOSTLY accurate if you want a step-by-step walkthrough of how to take advantage of your various MSDN benefits: https://skydrive.live.com/?cid=e796c9484df4baa3#!/view.aspx?cid=E796C9484DF4BAA3&resid=E796C9484DF4BAA3!2136


Application Lifecycle Management | MSDN | TFS | Team Foundation Server | VS 11 Beta | Visual Studio | development


I’m Back in the Blogosphere

by Angela 1. March 2012 15:00

So as you may know I left Microsoft DPE back in December of 2011.  Don’t worry, it was not a bad departure, I simply chose a new path in life…  It was actually a surprisingly smooth transition and I am still deeply connected to DPE.  Which is good, because I’m already suffering some withdrawal symptoms, having to wait like everyone else for Beta software bits was brutal. Seriously, how do y’all stand it!?

Not much else has changed. I still love to rant and rave about TFS and Visual Studio on Twitter, I now run the ALM practice for an ALM partner in Chicago, I am still running the Chicago Visual Studio ALM user groupand even have a March event on the books as of right now, and have also signed on for some other great events including ThatConference - which is being run by some awesome dudes, including Clark Sell.  Speaking of, keep ThatConference on your radar. Speaker submission opens soon, and tickets will be available in May. I imagine it will sell out quickly and it promises to be fairly spectacular!

This post is a bit light on content, but I have a lot to get my arms around before I start blogging full force again.  Also, I’m a billable code-slinger again so that certainly gets in the way occasionally Smile  As a matter of fact this week I implemented TFS for a customer in Wisconsin, and migrated our internal TPC to new hardware for Polaris. W00t!

More to come, stay tuned…


Team Foundation Server | Visual Studio | TFS | VS 11 Beta | MSDN | Windows 8 | development | ALM | Application Lifecycle Management | Agile

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