As of writing this blog post, there are thousands of developers converging in Las Vegas for the official release of Visual Studio 2010. I’ve been using Visual Studio 2010 for the a while now and it has been a generally positive experience. While as was exploring the VS2010 site I saw this question posed. “What Edition is Right for Me?” That prompted me to look through the editions. Microsoft has planned to sell for commercial versions: Professional, Premium, Ultimate, and Test Professional. A much smaller selection that the VS2008 editions, but that is a good thing. What shocked me was the outrageous price jump from Professional to Ultimate, from $799 to $11,899; that is over $11,000 difference for one copy of Visual Studio. So this blog post is to show you how to get an Ultimate experience for less, so that you can utilize that extra money for pizza and beers for you development staff.

1.) Visual Studio Professional ($799)

you are going to need this right? So what is missing from Professional that is in Ultimate?

  • Intellitrace (Historical Debugger)
  • Static Code Analysis
  • Code Metrics
  • Profiling

image

a.) Intellitrace ( $0 no alternative )

sadly I couldn’t find something that replaced this feature. It is very cool. Look at it this way though, the fact that Microsoft moved it up to the premium edition makes me think that they feel the common developer probably doesn’t need it. I also rarely used this feature in my own development.

b.)Static Code Analysis & Code Metrics ($410)

so what is static code analysis? Wikipedia defines it as the analysis of computer software that is performed without actually executing programs built from that software. Hmm… this sounds familiar, I think I’ve done that before. Oh wait I have! NDepend is a great static analysis tool that has been around for a while now.

c.) Profiling ( $0 – $500 )

There are a ton of profilers for the .Net framework, and some of them are FREE! In this post I chose the two that a company might buy ANTS Memory Profiler and JetBrains ReSharper.

2.) Testing

So you are a testing kind of developer, that’s great but you want all the extras that ultimate offers.

  • Code Coverage
  • Test Impact Analysis
  • Coded UI Test
  • Web Performance Testing
  • Load Testing
  • etc…

a.) Code Coverage ($479)

NCover is a mature and great tool for code coverage.

b.) Web Performance Testing and Load Testing($0)

The web has been around long before VS2010, so this problem has been solved a million times. Realizing that there are a ton of tools out there to do this and I won’t list each of them. Just Google and prepare to be overwhelmed by the possibilities.

c.) Coded UI Test ($0)

Watin allows you to code tests for UI interaction of web applications, which is probably the hardest interaction to test for.

d.) Resharper ($349)

I have to mention this tool just because it is so good and it improves the unit testing experience inside of visual studio, regardless of your framework.

3.)Database Development

the dreaded database…. how do we handle this stuff?

  • Database Deployment
  • Database Change Management
  • Database Unit Testing
  • Data Generation

a.) Database Deployment ($0 – not needed)

In theory this sounds great, but the majority of companies have a company structure that forbids any developer from making database pushes; the job of pushes are usually left to a Database Administrator. They will probably want to execute SQL that they have crafted and labored over.

b.) Database Change Management ($0 – code option)

again this is probably left up to your DBA with a combination of your source control (SVN, Hg, Git, TFS). I recommend looking into a migration framework if you really want to control the versioning of a database.

c.)Database Unit Testing (Whaaaaat? $0)

this troubles me on two fronts. First off you probably shouldn’t be unit testing enough of your database to have a whole project dedicated to it. Secondly, this is what developers refer to as integration tests and you don’t need any other tools other than your  favorite unit testing package to do this. Granted, VS2010 probably has some nice UI tools to make this more pleasurable, but in my opinion tests are about results and not how pretty the UI is.

d.) Data Generation ($0)

This is a problem that isn’t that complicated to solve, and again has been solved. Check out AutoPoco which allows you to generate a ton of data easily through a fluent interface. After generation, just go ahead and pump this data into your database with your favorite ORM or DAL.

4.)Architecture and Modeling ($100)

Buy a whiteboard for modeling and get your team involved. There is nothing worse than an Ivory tower architect that pushes his architectural will on the team without discussion.

5.)Source Control ($300)

Unfuddle is a great online source control provider and in my opinion gives you a lot of things your business will use from Team Foundation Server. When I quote the $300, I am talking about for your whole company and not per developer. This is a huge cost savings. There are also a ton of other online source control providers that are similar to Unfuddle.

Tools I have to mention: TortoiseSVN, MsysGit, TortoiseHg, AnkhSVN (all free)

Conclusion and Total Price: $2637 ($2832 less than Premium and $9262 less than Ultimate)

That savings per developer is nothing to joke about. You could save over $9000 dollars but just looking around more. So what is the downside? Well you will have a hodgepodge of tools to use and many of these options might lack UI tools and possibly Visual Studio integration. Do your homework and see if the benefits of buying these tools outweigh your desire to have a all in one tool like VS2010. If you have a team of five developers, I just saved you over $45k. Your welcome.