As we mentioned in our article on why users perform deployments in Salesforce, making changes to the live production environment is not a good idea - the risk of disrupting business as usual is too high, and there is no way to spot and resolve human error before it's too late. As a result, most companies maintain multiple environments and don't make changes directly in production.
Sandboxes and development environments provide companies with a safe, isolated space for building and testing features before they get released into production. But maintaining multiple environments introduces some new challenges. Primarily, changes must now be propagated between orgs in a controlled and reliable manner. This is where release management comes in.
Salesforce is a constantly changing beast
Developing applications on the Salesforce platform is fast and easy. There are a number of tools used to manage the deployment of these applications, including change sets and the Ant migration tool. While using deployment management tools alone may be enough in some small organizations, a more structured approach to managing change is preferable as organizations grow in size and complexity.
To demonstrate, consider working with large-scale enterprise applications or very complex changes to an organization. Performing live edits of an application with a highly customized interface in a production environment no longer makes sense. Not only is it inherently risky, but the limitations of the web tools may also make it simply unfeasible.
Similarly, development involving larger teams necessitates a process to manage integration testing. Changes and fixes from multiple development environments must pass through integration testing before they’re promoted to the production organization. This is beyond the scope of simply using change sets, and teams will quickly run into problems if they rely on this tool alone.
Many industries also have a legal obligation to meet certain regulatory requirements. A clear release management framework can help companies meet those requirements in key areas such as user access, data availability, and increased visibility across departments.
Release management provides change control
Release management provides a framework to control when and where changes are promoted from one Salesforce organization to another. Whether from a developer sandbox to integration testing via change sets, or from user acceptance testing (UAT) to production using Ant, release management is the framework to enable effective organizational change control.
Want to know more?
Read our whitepaper on Salesforce release management here.