Today, we released our second update to Visual Studio and Team Foundation Server 2012.  You can read a fairly detailed post with all the new capabilities on the ALM blog.  There’s a ton of new value in the in this update as evidenced by the long list of new features in that post.  Roughly speaking, Update 2 is about the same size as Update 1 was (in terms of numbers of new features).

Many of the features have been aired before in our CTP posts.  But there are a couple of things about the TFS update that I want to highlight.

TFS 2010 Build controller/agent compat – We’ve received feedback that simultaneously updating all TFS build machines along with the TFS server is not practical – particularly in large organization where there can be hundreds of build machines, many of which aren’t even known to the TFS administrators.  Because of this, in update 2, we have added support for TFS 2010 build controllers and agents – so you can update your TFS 2010 server without updating your build infrastructure and your builds will just keep working.  In general, we expect to continue this pattern from here forward – a new TFS server will support build machines from one major version back.  This adds the additional benefit this version that you can use the TFS 2010 build servers on Windows XP (in the event you need to do that) while the TFS 2012 build machines don’t support XP.  Based on the feedback we’ve gotten from our MVPs, this change is very popular and makes people’s lives much easier.

Preservation of TFS settings across updates – You may recall that when you applied TFS Update 1, you had to reconfigure many of the settings manually.  In Update 2, we put a great deal of effort into preserving settings across the upgrade.  While we didn’t get every one, we got the most common customizations and we plan to get most of the rest in Update 3.  In all the upgrade should be more seamless this time.

Upgrading TFS using SQL Always On – We added support to automatically handle upgrading TFS installs using the SQL Always On high availability configuration.  In Update 1, this was a manual process.

So I guess, what I’m trying to say is that, in addition to the long list of new features you’ll find in the blog post above (like new Agile project management capabilities, tons of testing tools improvements, Blend & Sketchflow support and more), we’ve worked really hard to make the upgrade as easy and seamless for you as we can.  Of course, if you hit any bumps, please let us know because we’ll want to fix them.

I can’t write this post without commenting on the quality of the TFS 2012 Update 1 release and what we’ve done about it.  You may recall that we had a number of issues with our Update 1, had to issue a re-release soon afterwards and then a patch with ~8 critical bug fixes.  We vowed not to repeat those issues.  We learned a lot shipping a pretty significant update and made a lot of changes for Update 2.

Among them, we added two “go live” CTPs to collect feedback early.  The first was a release just for our MVPs.  We had a dozen or so MVPs do production upgrades and report all the issues they found.  We found and fixed probably 5-6 significant bugs that way.  3 weeks later, we had a “broad go-live” CTP and worked with many more customers to do trial or production upgrades – finding more issues.  Throughout, we worked very closely with customers and pursued every issue to its end.  In addition to all of the customer testing, we provided an upgrade path from CTP->CTP->RTM and extended our own testing window to ensure we could cover any areas we felt we missed in Update 1 and do full verification of all fixes in the end game.  With all the effort and due diligence we’ve put into this release, we feel like we’ve done a good job ensuring the quality of what we are shipping.  Ultimately, the true validation of that will be a lot of successful and happy customers so, we’re eager to hear your successes or issues in applying Update 2.

A comment on Update 3…

We’ve already begun working on Update 3.  I’d like to set your expectations a bit on it now.  Update 1 & 2 were both fairly substantial updates with a fair number of new features.  My expectation is that Update 3 will be VERY modest.  In all likelihood, we will primarily focus on bug fixes, upgrade issues and small refinements to the experience.  At this point we are pretty consumed in working on our next major update to TFS and, as such, can’t manage to do 2 separate & significant things at the same time.

Once you’ve had a chance to try out Update 2, I’d love to hear your overall impression of the VS 2012 Update experience.  This is the first release that we’ve tried doing this and sometime later this year, we’ll be sitting down to evaluate overall how successful the effort has been and beginning to think about what we’re going to do for the next major release – in terms of subsequent Updates.

A final note.  After an update, I usually get a set of requests to produce a list of bug fixes.  For updates of this magnitude, that’s a harder thing than you might think.  I’ve done it in the past when our service packs or something would have a few dozen, or maybe even many dozen fixes.  It’s actually real work to turn the lingo in our internal bug database into a list that is useful to someone who’s not on the team and I usually spend several hours doing it.  I checked and this update contains over 500 bug fixes – just in TFS.  Now some of those bug fixes are fixes to things introduced in the process of creating the update.  You wouldn’t want to see those and I’d want to filter them out.  Because of the magnitude of that effort, I won’t be producing a list of bug fixes.  It’s something I’ll look at doing for Update 3 because I expect that will be a much smaller list.

Thanks and good luck with the update.  We really hope you like it.  As always, we are eager to hear your feedback.

Brian