tags:

views:

65

answers:

2

Many of you guys agree that the developers should not have write access to production servers (ie this question). In a such environment, who publishes a public-facing application/service/data? the testers?

+3  A: 

At my company, we have a dedicated release engineering team that handles all deployments. Ideally, there is a disciplined process of review and testing that is followed, and the RE team can help ensure that actually happens.

gahooa
This is good but I have experienced just recently two deployment failures because the test and prod environments were not quite *exactly* the same.
Zan Lynx
And I was going to say that if I hadn't been assisting with the deployment, the release guy would have rolled everything back and I'd have never had the chance to find out why it was failing. Being able to beg for five minutes of time with GDB saved me a day of trying to repro the bug on test.
Zan Lynx
The release team that I spoke of happens to be two people who are also developers (wink). They just have additional access, roles, and responsibilities.
gahooa
+2  A: 

We also have a small release team with special priviledges. They are out of the dev team, even though they are tecnical people.

A release is made of (if nok, any phase can be a stopper):

  1. build a version
  2. assemble a "what's new"
  3. publish it internally for all sorts of tests, manual or automatic
  4. access production databases to change run some scripts,
  5. deploy the application in production,
  6. make some minimal tests,
  7. receive the customers complains


Most of the time, all the job is done by one person (another one is available as a backup). The point of this is:

  • The same guy is less likely to make the same mistakes several times, he learns from mistakes.
  • This guy cannot shift the responsibility to someone else, so he really makes sure it will work.
  • This guy is not thinking about all the new exciting features that have been developped in that version, he doesn't even care. His focus is "what did they do this time that will break and get me in trouble :-(!". He is a counter-power actually, to the project managers that want theirs features delivered as soon as possible, and to the developpers that want all that fancy new code that is so cool!
KLE

related questions