Being in charge of so many Web applications / sites, we are very well aware that stability is one of the key points of a good software.
Therefore, we follow strictly defined testing / release / bugfix procedures.
Typically, our applications run on 3 environments
Depending on the customer contract, WEBCentric staff may or may not get access to Production environment.
Each release is carefully planned so we know what new functionalities we're releasing, what needs to be tested, and what other ares of the application may be impacted. We also take into account the release downtime (for business critical processes, releases are usually done in off hours, or on the weekends).
Release packaging also requires smart way of preparing release scripts (either Ant or Maven), tightly integrated with SVN repository.
As for database changes, both structural and data changes are scripted (and kept in SVN), and executed as integral part of the release.