Collective Wisdom from the Experts 63
Once checked into SCC, whether automatically or manually, it should be rolled
over to the development server, where it can be tested and tweaked if neces-
sary to make sure everything works together. From this point on, though, the
developer is a spectator to the process.
The staging manager should package and roll the code to the staging server
for the QA team. Just like developers should have no need to access anything
beyond the development server, the QA team and the users have no need to
touch anything on the development server. If it’s ready for acceptance test-
ing, cut a release and roll; don’t ask the user to “just look at something real
quick” on the development server. Remember, unless you are coding the project
by yourself, other people have code there and they may not be ready for the user
to see it. The release manager is the only person who should have access to both.
Under no circumstances—ever, at all—should a developer have access to a
production server. If there is a problem, your support staff should either fix
it or request that you fix it. After it’s checked into SCC, they will roll a patch
from there. Some of the biggest programming disasters I’ve been a part of have
taken place because someone coughmecough violated this last rule. If it’s
broke, production is not the place to fix it.