I already blogged about setting up a SharePoint team, and I am going to explain the technical side of that in this post.

Here are the classic mistakes and best practices on how to setup development environment for a SharePoint team.

Environment 101

Mistake – Installing SharePoint on a developer workstation

It is nice to have all the tools you need installed on your workstation / laptop. This is a wrong approach for SharePoint projects. SharePoint is a very complex software product and it will probably mess-up something else on your computer. So you will end up reinstalling it, every few months.

SharePoint also requires a Windows server to run, which you can install on workstation, but you will not be able to run some client applications (e.g. Adobe Creative Suite).

The best practice – SharePoint in a Virtual Machine

The best practice for setting up development environment is to use a virtual machine. VMs are easy to manage and host operating system is completely isolated. You can tear apart VM, but host machine will not be affected. The benefit: You can have a different machine for each client/project you are working on.

Here are some useful links on this topic:


Virtual Machines 101

There are various options for using Virtual Machines and here are some mistakes and best practices when it comes to SharePoint development:

Mistake – Using a Virtual Machine provided by Microsoft

You can download a preinstalled VM with SharePoint and everything you need from Microsoft web site. These machines are great because they included all the tools and services you need to do presentations and developing for SharePoint. However you will encounter the following two problems when using them:

  • VM is set to expire in few months, and sometimes it is very hard (in some cases impossible) to prolong that
  • If two or more people are using this machine on the same network this will cause you a lot of problems. Renaming a server with SharePoint and Domain Controller installed is a nightmare, and you cannot have two machines with the same name on your network.
    So, sooner or later you will abandon this approach. 🙂

Please note: If you only need to do a simple pilot, or a demo you should stick to this VM. It is great and rapid tool for simple scenarios.

Mistake –Single Virtual Machine approach

The next approach you will probably try is having one virtual machine per project, and use it as integration (sometimes even development) server. Each developer uses this machine for debugging, deployment and integration.

This is a mistake, reasons:

  • Deploying SharePoint stuff often requires you to restart IIS or recycle pool. If you have two or more developers working on this machine this might be a problem, because all these restarts will decrease productivity of a developer.
  • No matter how much RAM you allocate for this machines, you want be able to allocate enough.
    It is always hard to allocate enough if two or more developers are using Visual Studio debugger on the server

The best practice approach – Development lab

In next post I am going to describe how and why you should build a testing lab for your team.

Related articles:

3 Comments

  1. Les Crawford Says

    The part 2 of your article is lost or has a broken link:

    Team-Based Development in Microsoft Office SharePoint Server 2007 – Part 2 – Building a development lab | SharePoint Use Cases

    Will it be available again, I really appreciated the first article.?!

    Thanks,
    Les

  2. Toni Frankola Says

    @Les: Here it is: http://www.sharepointusecases.com/index.php/2008/12/team-based-development-in-microsoft-office-sharepoint-server-2007-part-2-building-a-development-lab/

    Can you just tell point me to the broken link so that I can fix it for others?

  3. Building a SharePoint Development Environment | SharePointDevWiki.com Says

    […] Mistake – Installing SharePoint on a developer workstationIt is nice to have all the tools you need installed on your workstation / laptop. This is a wrong approach for SharePoint projects. SharePoint is a very complex software product and it will probably mess-up something else on your computer. So you will end up reinstalling it, every few months. SharePoint also requires a Windows server to run, which you can install on workstation, but you will not be able to run some client applications (e.g. Adobe Creative Suite). The best practice for setting up development environment is to use a virtual machine. VMs are easy to manage and host operating system is completely isolated. You can tear apart VM, but host machine will not be affected. The benefit: You can have a different machine for each client/project you are working on. Source : Team-Based Development in Microsoft Office SharePoint Server 2007 […]

Leave a Reply