Hi John,
We're a relatively small company with about 1,000 employees. We don't have a true "team" to do any testing/updating and certainly not two distinct groups of people.
Up until recently, we only had a production system that we did everything on (not recommended). We recently (within last six months) were able to get a test server up and running. The test server is a rehosted version of our production system so they are identical implementations.
Currently, our process is to:
1) first create/develop the new functionality on our test server.
2) If the functionality looks usable and ready to implement, we create a back up of our test server.
3) then we reload the test server with a new dump file from our production server to create a new clean test environment.
4) we run through the steps to implement our new functionality on the test server again to make sure we didn't miss anything. If we did miss something, we can alway reload our test server from the backup we created of it in step 2.
5) once we have the procedure correct on implementing the new functionality into our test server, we then go through the same procedure on our production system.
Ideally, we'd have a third system (which I believe PTC recommends) so that we would not have to wipe our test server clean to re-implement on it. In the recommended scenario, we'd have a development system to mess around on and develop our new functionality, a test system (identical to the production system) to implement new functionality on and test just prior to implementation, and then the production system itself.
Mike -