The scenario: we had a break in one of our environments. Turns out that someone deployed a new version of a view that broke someone else's code. Took quite some time to track it down. Got me to wondering though.
Is there a best practice for managing deployments across many teams? What is your opinion of a good practice for managing this?
My idea (half formed, as you'll see) is this: have a deployment database. Anyone who does a deploy is required to make an entry in the deploy database: where the new code resides, what environment that code went to, who authorized it and when it happened. First problem: enforcement. Second problem: adoption. Third problem: backward compatibility.