Your development environment is the same environment your app will be running in on the production server. You need at least one main developer working this way. This means that your computer has the exact same versions of your database, whatever language(s) you develop in, and operating system. If you don't do this then how do you know that when you put your site live some missing library or version mismatch or operating system quirk isn't going to bring it all crashing down. These things all need to be part of your system tests, but if you're developing in the same environment your app will be running in on the server then you are constantly doing a small, but very important form of system test.
K. Rhodes 2007-05-18