I have been watching recently twitter comments about people “repaving” or rebuilding their machines.  Recently I have added a couple of new developers to one of my teams and received feedback that it took quite too long to get them up and running to be productive. Lastly, my machine was due for a “repave”.  Realizing a real good machine image could increase productivity, I set out on an adventure.  Here are my thoughts:

Identifying the Image

My first step was to identify the image contents.  I made an initial list and then worked with the development team to understand what was essential as part of the build.  Here is the final list we came up with:

  1. Operating System – Vista Business
  2. Productivity Programs
    1. Microsoft Office Programs – Include OneNote
    2. Microsoft Visio
  3. Communications Programs
    1. SharedView (This has been critical for customer interaction)
    2. Messenger
  4. Browsers
    1. IE 8.0
    2. Firefox (Latest Version at Image time)
  5. Development Tools
    1. IDE
      • Visual Studio 2008
      • ASP.Net MVC (RTW)
      • Web Deployment Projects (RTW)
      • CodeRush / Refactor
      • SharePoint Designer 2007
      • Telerik RAD Controls
      • AJAX Toolkit
      • XUnit 1.1
      • TestDriven.Net
    2. SQL Server 2005
    3. Source Code Controls
      1. Tortoise SVN
      2. ANKH SVN (Soon to switch to VisualSVN)
  6. Miscellaneous
    1. Anti Virus Software
    2. CCTray (Continuous Integration)
    3. Paint.Net

We missed a couple of things as part of the process.  This is to be expected.  In my next repave process I will look to add some of the additional tools that make us successful.  However, at this time it is pretty good and the rest of the install of these misses is minimal.

What didn’t go quite right

I think the most important thing to note was standardization of machines.  Most of the team has Dell M6300’s.  Unfortunately, not all of them.  I ended up actually creating two images at this point and am ensuring that developers have a machine that fits one of these two images.

Secondly, from an installation process, I installed Visual Studio 2008 first before SQL Server 2005.  This was a mistake, which I should have remembered from a previous install experience.  Management tools in SQL Server don’t install quite right if VS2008 is installed first.  After blowing away the SQL artifacts and reinstalling this was fixed.

Lastly, there were just a few things that kind of crept up.  Installing printers, capturing my email signatures, redirecting the user profile folders correctly.

What went well

The best news is that we proved the image to work and the total time was only about 1.5 hours to completely reimage the machine.  Since this was my machine that was reimaged, I was able to test and be up and running very quickly.  The same thing happened with the other machine that was imaged.  We used Windows deployment Services to do our images.


Overall the results have been very good.  Reimaging is done on off hours when necessary.  Also, the image server is available to our developers to “clean” their machine whenever they want.  I went from a potential impediment of 12 hours to about 1 1/2 (total time of additional configuration) for a machine.

For anyone who is managing a team that doesn’t have an imaging process for developer machines, I would highly recommend it.