The production org is the LIVE salesforce instance and keeping it up and running is critical to any business. Considering the impact to the end users after deployment in production is key for any salesforce team. Retention of production data is crucial for post deployment.
Best practices in deployment
NO development task [declarative or programmatic] should be directly performed in production. The safest place to make and test changes is in a dedicated development environment.
Application development lifecycle should have at least 3 orgs
- Development – Creating new functionalities or modifying existing ones
- Staging – End to end testing be performed in this org
- Production – Real users interact with the application
Users across the organizations with different functional roles should perform testing and an acceptance should be obtained.
Making sure the staging is a replica of the production and it should contain all data, metadata, objects and records and complete testing should be performed in staging.
Having a Release management process, which will include everything about the release, should be circulated to all the members who are part of the production deployment and they understand their role in the process.
Deployment should be backward compatible with existing features in the ORG, prior to pushing it LIVE.
Deployment should be scheduled consistently in a given day of the week and with regular frequencies. Deployment during critical business hours and before major holidays or events should be avoided. Having a consistent schedule sets expectations for business users.
Maintaining a thorough documentation of the entire process, will ensure a reliable point of return, if any challenges occur during deployment.
Training the users on new functionalities and have a collaboration tool for them to raise any questions will ensure, they can continue to perform their business functions post deployment and better than what they used to do.
Following Deployment best practices will give assurance to clients on business continuity and save lot of time and efforts for the deployment team.