30 October 2007

Getting Ready for Patterns & Practices Summit 2007

It's almost time for this year's Patterns and Practices Summit and I'm excited for many reasons.  There is a list of great speakers lined up along with some great sessions.  One thing I'm looking forward to with this summit over the typical conference (e.g. TechEd or PDC) is I don't have to pick-and-choose between a dozen (or more) tracks when deciding which sessions to attend - there is only one track with about seven sessions per day.  I'm also looking forward to visiting the Microsoft campus since I've never been there before.  So, all-in-all, it promises to be a great event.

Of course, I'll have to put on my tourist hat in the evenings and check out the local sites such as the Space Needle.  Having never been to Washington state I'm not sure what to check out so if anyone has suggestions, please post them.  Also, if there is anything specific (i.e. super cool) to visit while on the Microsoft campus please post that as well :-)

24 October 2007

TFS 2008 System Recommendations Released

In case you haven't seen it, Brian Harry posted the TFS 2008 System Recommendations a few days ago.  There is some great information in there if you are planning on upgrading existing TFS 2005 installations or if you're planning on installing TFS 2008 on a new system.  Based on the test results it looks like some pretty good performance improvements have been achieved.  You can read more here.

19 October 2007

What's New in TFS 2008

I just completed my presentation on the new features of TFS 2008 at this year's Tulsa TechFest.  It was a relatively small session held in one of the classrooms here at the OSU campus which allowed me to more easily address questions during the presentation.  The topic I presented on is called What's New in TFS 2008.  Although the presentations run roughly 75 minutes, I had to skip over a couple of my demos because there are so many new features in TFS 2008.  It was easy to tell that I'm not the only one excited about some of the new features :-)  If I had to pick my top 5 features in TFS, they would have to be:

  1. Continuous Integration - although there are 3rd party/open source implementations available for TFS 2005 now, they don't have the same, clean integration that's present in TFS 2008.
  2. Build Retention Policies - finally, I won't have to worry about running out of space on the "drop" server because there are 2,000 old builds sitting around collecting dust.  Anyone that's ever had a build fail due to lack of disk space (which is not stated in the build failure log) will appreciate (or, love) this feature!
  3. Better Build Support - specifically, the ability to store the TFSBuild.proj file in any folder.  This greatly enhances branching options.
  4. Queued Builds - the ability to queue builds is great.  I know longer have to wait for my CI build to complete before I can start the test build that pushes the updates to the test machines.
  5. Performance Improvements - there are tons of other enhancements and improvements throughout TFS 2008 but there are also a lot of performance improvements as well.  Anything that allows my builds to complete a little bit sooner is much welcomed.

I could probably list a couple dozen other features that I really like in addition to those above but I have to stop somewhere :-)

You can download the slides here if you're interested:

17 October 2007

TFS 2008 Features in TFS 2005

There are a lot of new features in TFS 2008.  So many in fact, it's difficult to list them all at once.  I will, however, do my best to cover as many new features as I can during this year's Tulsa TechFest when I present on What's New in TFS 2008.  There are a lot of new features that have been integrated into TFS 2008 that can also be had today in TFS 2005.  Some of these are listed below...

Continuous Integration - there are several 3rd party solutions for implementing continuous integration in TFS 2005.  These include:

  • A Microsoft implementation - this is a web-service based implementation that allows you to associate a Team Project with a specific Build Type to be called any time something is checked into version control.  I've seen several variations of this implementation available on the web.
  • TeamCI by Notion Solutions - this is a free CI tool offered by Notion Solutions.
  • TFSBuildLab - this is an open source project on Microsoft's CodePlex site.  This TFS utility offers more than just CI capabilities.

TFSBuildLab - along with the continuous integration capabilities listed above, TFSBuildLab has many other features:

  • Retention policies - can be based on Build Status or Build Quality.  You can also specify the number of builds to keep or the number of days to keep them.
  • Tray notifications - receive build and check-in notifications (via "toast" messages)
  • Build queuing - provides a mechanism for queuing builds.
  • Build scheduling - provides a UI for scheduling builds.

"Listless" Unit Tests - TFS 2008 has the ability to specify which unit tests to run (during a build) based upon a file mask rather than being forced to select a list of tests.  This approach lets you easily run all unit tests within an assembly or set of assemblies (for example) without ever having to manage lists of tests for the build.  Buck Hodges has a great post explaining an implementation for TFS 2005.  Trust me, once you start specifying your unit tests in your build using this approach, you'll never go back to test lists again :-)

"Broken Build" Check-in Policy - TFS 2008 has a new check-in policy called Builds.  When something is checked into version control this policy will check to see if any related builds are currently in a "broke" state;  If so, the policy will fail.  The idea is to not let developers keep checking in code when the build is just going to fail anyway.  Clark Sell has created a Build Status check-in policy for TFS which gives you this functionality now, in TFS 2005.

BuildStep Task - If you've ever wanted to add your own custom text in the build report (the view you get in Visual Studio while watching an active build run through the various build steps) then you're in luck.  In TFS 2008, there's a new build task called the BuildStep task that does just this.  You can also get this functionality in TFS 2005 with the TeamBuildTask posted by Aaron Hallberg.

Incremental Builds - incremental builds are supported within TFS 2008.  TFS 2005 build scripts can be configured to run incremental builds with a little work.  There's a "how to" article on MSDN that explains the steps to run incremental builds in TFS 2005.

There are undoubtedly other features that can be made available for TFS 2005 but this is a good start.

01 October 2007

NLarge Utility

I've been putting the finishing touches on a TFS 2008 presentation that I'll be giving at this year's Tulsa TechFest conference later this month and came across a utility that promises to be extremely useful.  It's called NLarge and provides the ability to zoom in and out of a presentation (or any other displayed materials) using a smooth scrolling effect.  NLarge runs in the taskbar notification area and can be activated with a hotkey (Alt+1).  Once activated, the zoom feature can be controlled with the mouse, tablet pen, and/or keyboard.  Although I haven't used this utility during a presentation yet, I think it will be extremely valuable in aiding those in the back of the room to see what I'm focusing on.

NLarge is an open source project available on Microsoft's CodePlex site.  You can get more information about NLarge here.