SharePoint 2010 Development Environment

Every time I work with a client on SharePoint 2010 I am asked the same general question…  “How do we setup a development environment?”

For SharePoint 2010 my answer is simply:

  1. Provide each developer a 64 bit Windows 7 computer with at least 4GB of RAM (8 recommended).
  2. Install SharePoint Foundation 2010
  3. Install Visual Studio 2010 Professional or Ultimate
  4. Install SharePoint Designer 2010

This simple configuration will allow developers to write almost any customization or build any application they would need on top of SharePoint.   Now there are some instances where SharePoint Foundation may not have all of the features  needed by the developer.  In those cases they will need to install SharePoint 2010 in a single server configuration on Windows 7.  

I also have a few other recommendations and opinions about SharePoint development:

  1. Each developer must have their own separate SharePoint Foundation 2010 or SharePoint 2010 instance.
  2. Visual Studio 2010 must run on the same machine where you are doing development.    (This is not 100% mandatory but you would be crazy to do it any other way)
  3. SharePoint is a platform, however, not every solution requires custom code.  With SharePoint Designer 2010 you can do a lot of very cool things with workflows and custom XSLT data views.   Custom code should be a last resort.
  4. If you are writing custom code for SharePoint, use Team Foundation Server 2010 to help manage team development.   If you are the only developer, consider using Team Foundation Server Basic for tracking work items, bugs, issues, and managing your source code.

A good development environment does not guarantee great code.  It is always important to follow good software development practices. 

Make sure you understand the SharePoint framework and if possible work with someone who has prior SharePoint development experience.   SharePoint is a large beast and it will hurt you if you deploy poorly written code.

6 thoughts on “SharePoint 2010 Development Environment”

  1. Hi Mike,
    Thanks for you post, interesting stuff.
    what would you recommend for multiple developers scenario in term of development environment architecture? each developer using a an independent farm or one farm in which each dev machine is actually a web front end.

    Thanks

    1. Each developer should be on their own farm. This really comes down to debugging and giving the developers the flexibility to stop / start services and such without disrupting the other devs. I prefer the Windows 7 with SharePoint Foundation setup for each developer. In most cases SharePoint Foundation has all of the APIs the developers need. In some cases there may be a need for a developer to run a full single server install of SharePoint 2010 standard or enterprise. Still I would ensure that each developer has their own farm so they don””t interfere with others. Another option is to use Hyper-V to deploy multiple virtual development environments on a single server. The developers would then remote desktop into their own server instance to do their work. I would be a bit careful with that though; some developers do not like the slight lag / delay in screen drawing when using remote desktop.

  2. Good read thank you.

    I””m glad someone is talking about this, though I hope someone can go a little bit deeper though in terms of setting up a team environment.

    One major problem we””re facing now (and i””m sure we””re not alone!) is controlling the development, test and deployment pipeline. Let””s be honest, SharePoint is a nightmare in this regard and it””s really hard to control with a mix of custom code (web parts, ASP.NET pages), UI configuration (such as new list schema changes or page layout / content), branding (master pages, css), etc. Also the fact that I may have 1 or 2 developers working on some features, a graphic designer working on branding and another 1-2 consultants integrating everything and laying things out through SharePoint designer or directly from the SharePoint sites.

    Unfortunately we don””t have the luxury of perfecting and implementing powershell solution overnight, and even then, i””m sure it””s difficult to script everything, especially with FAST integration and other factors.

    It””s not so much the how and where to write code that””s the issue in setting up a SharePoint team environment, it””s more of the how do we manage the pipeline of workstation to integration / development server to QA server efficiently without dropping features or stumbling for hours on end.

  3. Good Post

    I am researching ways to set up a dev enviroment and I ran across your article.

    If we are running SP Standard, what would you suggest as a way to setup a Dev enviromentfor Standard? I know you mentioned install SP FOundation on each users PC but that eliminates MySites.

    Just wondering, I want to set this up spending as little as I can.

    thanks again

    1. If your developers have Visual Studio 2010 with MSDN then they can install SharePoint 2010 standard or enterprise on their development environment at no additional charge. Their MSDN subscription provides the developers with rights to use SharePoint 2010 for development purposes. It is not possible to share a MSDN subscription. Each developer would need their own subscription.

  4. I am also researching how to setup a development envi for sharepoint 2010. I have considered Windows 7 with SharePoint Svr setup, deploy multiple virtual development environments for each developer on a single server, PAAS and IAAS. But I am still looking for an answer or the best way to manage the problem Adrian stated above ie how do we manage the pipeline of workstation to integration / development server to QA server efficiently without dropping features or stumbling for hours on end. Can someone HELP Please

Leave a Reply