Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Ok, i got a weird one. All of our developers have MSDN licences, and so we are all eligible to install and use Visual Studio 2010.

However, the organisation has asked for a "good reason" (i.e. a business case) for upgrading from 2008 to 2010. Unfortunately, "it's better" and "it's free" isn't a good enough reason.

I would greatly appreciate your thoughts on solid arguments as to why we should upgrade from visual studio 2008 to visual studio 2010 (or from .net 3.5 to .net 4.0)

What i got so far is:
- Productivity boost (need a way to back that statement)
- Reduce attrition (career growth for developers to use latest technology)
- Enhanced Security (???)

Essentially, i need to be able to go back to them and say "We need to upgrade, and here's why"


share|improve this question
I always use the argument, "Using the latest and greatest tools always gives an advantage". Would you use a hand-saw when a skill-saw is available? –  Zoidberg Mar 1 '11 at 0:02
Need to know what you're doing. The answer is different for a native C++ dev than for a web C# person or a database person or ... –  Kate Gregory Mar 1 '11 at 0:11
WPF development in VS2008 was painful. WPF development in VS2010 is smooth as butter in comparison. –  Metro Smurf Mar 1 '11 at 0:14
Well, if you can't sway them with "it's better" and "it's free".. good luck. –  Ed S. Mar 1 '11 at 20:33
As a C++ guy, I'm excited by the C++0x new things in VS 2010. This apparently doesn't apply to you. –  David Thornley Mar 1 '11 at 20:59
show 2 more comments

migrated from stackoverflow.com Mar 1 '11 at 20:23

This question came from our site for professional and enthusiast programmers.

8 Answers

VS 2010 possesses a totally different MSBuild-based build system for all provided languages and so build box may not have Visual Studio installed at all. It will be developed further and it means you will have to upgrade your VC++ project sooner or later. Sooner is usually cheaper.

It's greatly integrated with TFS so that many tasks, SCM, build, teamwork, testing, unit testing, publishing testing results can be done in a smooth, more convenient way.

During changing VS editor, engineers took into account many common developing scenarios and shortcuts in order to make a developer as much productive as possible. A set of code snippets is just must-have. Many lines editing feature (Alt-Shift) is now a common scenario for me. IntelliSense finds the best code completion than ever and supports C++ better (or at least got crashed more lately).

.NET 4.0 has many good features too like dynamic, MEF and tuples. They're nice and when you get used to them it's hard to live without the things.

Commonly used projects may be exported as project templates.

One more thing, there is a build-in extension (plug-in) manager with online extension gallery with a lot of useful plugins (Productivity Power Tools, Code Map, Block highlighter etc).

Performance analyzer and code analysis are really good. Class diagram started actually working with C++ code.

Last but not least, VS 2010 has full screen view to code without distraction.

I hope you find something here to back up your idea.

VS2010 has the only drawback, it's slow. Therefore, the developer machine should be based on Nehalem processor core at least and has got 4Gb memory. You are warned.

share|improve this answer
+1 for "sooner is cheaper" –  mbillard Mar 1 '11 at 20:36
This is a good tech case, but is still needs to be translated into a business case, so that the geniuses can comprehend this. –  Job May 11 '11 at 19:15
Technically, VS2008 has full screen code as well - just hit Alt + Shift + Enter. –  Ian Pugsley May 11 '11 at 19:19
add comment

You could start with built-in support for .NET 4.0, and the ability to target more versions of the Framework than ever before.

Also, the ability to detach windows from the IDE so that you can view multiple code files simultaneously is a boon to productivity.

Ultimate Edition includes a UML modeler, and enhanced features for viewing and working with the architecture of your application.

There's enhanced debugging with IntelliTrace, which allows you to rewind the stack like you never could before. The ability to do this results in less time spent tracking down hard-to-find bugs in the event-driven model.

share|improve this answer
+1 for intellitrace –  CaffGeek Mar 1 '11 at 20:34
add comment

There are really two things to consider:

  1. Upgrading your development environment from 2008 to 2010. This should be done as a team. Once you convert a project, I don't believe you can use both. You will need your build servers updated also. One nice thing is that VS2008 and VS2010 can coexist. We have a few projects that are still VS2008 and have not made a team decision to convert. Other projects (and future stuff) is all VS2010.

  2. Upgrading your .net framework from 3.5 to 4.0. IMO, this is a bit more important and offers some additional risk. MS has been very good about not breaking API, but you want to check this out first. You can deploy to 3.5 or 4.0 using VS2010. Probably cannot do 4.0 in VS2008.

share|improve this answer
add comment

There is also a lot of improved support for database projects in VS2010 that we did not have in 2008. This allows you to keep your db in source control, and diff against live database. You can generate deployment scripts based on the diffs. It can also do some integrity checks on the database, ensuring that columns, tables, views etc are still valid that are referenced by procs, throughout the entire project are still valid. Normally you only get this when you try to run a proc. This was the main reason we went from 2008 to 2010.

share|improve this answer
Hmm I didn't know that; might be worth looking into at my job since we heavily deal with DB scripts and the like. –  Wayne M May 11 '11 at 19:44
add comment

Upgrading for the sake of upgrading is a really bad idea if VS2008 works just fine for your team. If you can't think of a good reason why you should upgrade, that means you shouldn't.

In a corporate environment, there would have to be extensive testing of VS2010 to ensure that it works with your environment and doesn't break anything. This can take a lot of time and effort, and then it needs to be rolled out to all the developers who would have to become accustomed to the differences between the two. Just because it costs $0 to download VS2010, that doesn't mean it costs $0 to properly deploy it.

As the old saying goes, "Don't fix what isn't broken."

share|improve this answer
add comment

If I had to pick a single reason, it would be NuGet support. I really wouldn't want to fly without it. Moreover, you can use NuGet internally to distribute your own packages with relative ease.

From a cost and licensing perspective, the new Visual Studio Professional MSDN subscription is pretty cheap compared to old ones so I'm shocked the bean counters aren't pushing for an upgrade.

share|improve this answer
add comment

May not be appropriate for your specific situation but IMO one of the best reasons to upgrade if you are doing ASP.NET development is the "friendly URL" module that they extracted from MVC and made available for WebForms; having used it in the past myself it's very nice if you are stuck doing WebForms but want to optimize for SEO and have clean URLs.

And of course .NET 4.0 itself is pretty darn good, and will increase your productivity, but for ASP.NET developers especially that is a compelling reason (again IMO).

share|improve this answer
add comment

If you are doing Web Development then MVC would be a great reason to upgrade to VS 2010. I know you can download MVC for VS 2008, but it's supported natively (i think so) in VS 2010 and most of the training videos are in VS 2010.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.