We had an incident recently where some code got released to live that was not scheduled to be released.
It had obviously been checked into the trunk. Which is fine i guess as you want to 'check in early, check in often'.
However in this instance it was not supposed to be released in the next release.
What kind of checks / strategy / process can be put in place to avoid code being released to live prematurely.
It seems to me even with Continuous Integration and Unit Tests this is a human procedure issue?
-- Lee