I came across an article posted last week on what environments are needed for SharePoint development (re-posted below) and wanted to share my thoughts.
I totally agree that you need four different environments: development, test, staging, and production. I would be willing to bet that a lot of companies don’t have all four of these. In fact, we only have dev, test, and production where I work.
One thing that was mentioned in the article that I had never thought about: make sure your test environment is not a single-server farm (even if your production farm is currently single-server). Problems could arise down the road if you wish to scale out your production farm and find out that none of your code works in a multi-server environment. I’m willing to bet that most companies do not adhere to this advice either.
The entire article is below: