At our current project we have 1. a production server, 2. a test server and 3. several developers using xampp under Windows. Prod- and Testserver are run by UNIX.
One of the other developers is repeatedly complaining about us using xampp under windows. He’s saying that we should create a v-server on the test-environment for developing purposes (maybe one v-server for each developer, I don’t quite know). To me, this feels just awfully wrong. But I can’t really explain why, except obvious reasons like you have to connect to the remote dev-server, etc.
Here’s how I do it. There are 4 stages.
1) Local server. Here, you can work on your own changes, feature branches, etc. Do your work, make sure it works on your machine, and then request it get pulled into the development branch.
2) Dev Server. This is a carbon copy of whatever’s in the development branch, and is meant as a means to see how your code is a) working in an actual environment and b) playing with other people’s code.
3) “Test Server”, which is where QA should be done. The settings on this server should be as close to those on Production as possible. and allow for all the bug fixes, features, and improvements you’ve been working on to be looked over and either resolved or reported back on.
4) Production. By the time the code makes it here, it should be stable and ready to go. This should be the “final product” for the client (even if you’re still fixing bugs / doing maintenance)