A recurring question that has come up is regarding which version & flavour of Visual Studio can and should be used for SharePoint- we are at a point where SP 2013 is coming on strong but many, many clients are going to be locked into SP 2010 for a while yet. Obviously an investment in software like Visual Studio should be made with the best balance of future-proofing and low cost possible. This post seeks to offer some advice on that.

The quick answer is:
-you can develop for SP 2010 using VS 2012, there project templates etc. that are geared for both version in VS 2012.
-you can develop for SP 2013 using VS 2010, however there’s going to be loose ends. Upgrading your existing VS 2010 solutions to VS 2012 is however not that hard.

The next question you will likely have is, which flavour of Visual Studio to get – Ultimate with MSDN, Premium with MSDN, Test Professional, Professional with MSDN, or Professional.

Version compare here: http://www.microsoft.com/visualstudio/eng#products/compare. I would see Visual Studio Professional 2012 being a good fit for most common scenarios, but whether you use Pro or move up to Premium would depend on if you need the following Premium features:

–          PowerPoint Storyboarding
–          Team Foundation Service

In general, the big upsell when going up the feature matrix ladder is when you are working on hardcore software development in big teams, using Agile development processes, complex unit testing etc.

The hard requirement of having Visual Studio installed on a non-production SharePoint server install is pretty much standard, until you go to a SharePoint 2013 development model which is based on more open standards and Apps. Depending on your licensing provisions available (e.g. you’re in Government or Education), you may have SharePoint CAL’s covered to create such an environment – or, and for a variety of other reasons, you might want to consider an MSDN subscription. An MSDN subscription also would enable the aforementioned Team Foundation Service hosted source code option.

A fleshed-out dev environment is a must, custom code should never see the light of day on a production server until tested, there is always potential for irreparable damage to production systems when it comes to custom dev. Here are four great options for setting up a SharePoint development environment in the cloud.

SharePoint dev is sometimes maddeningly complex as the already complex front-end side of SP is just the tip of iceberg. The plumbing underneath is massive. Although there is quite a bit of flexibility with how you approach it, you definitely need to get your shop tooled up in a specific pattern, and Visual Studio is just one component. Evaluating whether or not it even makes practical sense to do such work in-house or to contract out is a big jigsaw puzzle too.  Fortunately there is a good degree