Over time, you’ll likely make many changes to your Salesforce instance to ensure that it continues to run efficiently and to improve its overall functionality. Some of these changes will be small but meaningful, such as minor updates to existing features, and others will be larger in scale, such as new application development projects.
The one thing these changes all have in common is deployment. A deployment is essentially the final stage in any Salesforce project, during which changes made to your instance are pushed live. There’s a lot riding on this final stage, so it’s essential that you do everything in your power to ensure that your Salesforce deployment goes as smoothly as possible. To that end, we’ve created this list of Salesforce deployment best practices to help get you there — but let’s start with a little bit of terminology.
Salesforce Implementation vs. Salesforce Deployment
To the uninitiated, it might seem as though the terms “implementation” and “deployment” mean the same thing, in no small part due to the fact that they’re often used almost interchangeably. Although they refer to related concepts and processes, it’s important to draw a clear distinction between the two.
A Salesforce implementation is the entire process of installing and setting up Salesforce. Larger in scope than a deployment, implementation also includes customizing Salesforce to fit your business.
A Salesforce deployment is a single, specific activity that takes place at the tail end of a project — typically, the act of moving changes from a sandbox environment over to your production environment and pushing them live to end users and customers alike.
To simplify even further, a deployment is essentially a stage in an implementation; as such, a deployment takes much less time to complete than an implementation — think hours compared to weeks or months.
Key Markers of Success
Before kickstarting any Salesforce deployment, there are a few markers of success you should keep top of mind to make sure that everything goes according to plan.
- Business Continuity: There’s nothing worse than pushing a deployment live only to have other parts of your org break in the process, causing disruptions in normal business operations and preventing your employees from doing their jobs. A well-executed Salesforce deployment shouldn’t have a negative effect on business continuity — if it does, it’s time to go back to the drawing board.
- User Adoption: Any time you deploy something new into your org, it has an effect on how your users interact with and utilize your system. Therefore, to support the success of your Salesforce deployment, it’s imperative that you train your users on new functionalities and give them a place to ask questions as they get up to speed. From a user adoption perspective, the ultimate marker of success isn’t whether your users can continue to do their jobs with the deployment, but whether the new deployment enables to do their jobs even better than before.
- Backwards Compatibility: Compatibility challenges can easily gum up the works of your org, causing important pieces of it to malfunction. That’s why it’s crucial to ensure that your Salesforce deployment is backwards compatible with existing features in your org prior to pushing it live to your production environment.
Salesforce Deployment Options
There are three ways to deploy changes in a Salesforce production environment: with the Force Migration Tool, a change set, or the Force.com IDE.
The first of these, the Force Migration Tool — also known as the Ant Migration Tool — enables you to use the Metadata API to manually recreate data from your sandbox environment in your production environment via a series of text commands into a terminal window. This method is comparatively labor-intensive and requires a larger time investment to set up but gives you greater control over the deployment process and is well-suited for continuous integration and continuous deployment.
The second option, a change set, is a collection of features, components, and customizations bundled together and delivered from one Salesforce environment to another, where it can be opened and deployed. Change sets must pass a minimum level of test class coverage, which is Salesforce’s way of ensuring that any code pushed to a production environment doesn’t use too many resources in the company’s multi-tenant model environment. Since change sets don’t support all Salesforce components, they can’t be used to port all functionality over from a sandbox environment to production. Many components, including sales processes, divisions, standard picklist value, security model updates, and organization-wide email addresses, must be moved over manually.
Change sets don’t support all Salesforce components, so they can’t be used to port all functionality over from a sandbox environment to production
Change sets are also limited in that they can’t be used to port all functionality over from a sandbox environment to production. Items excluded from change sets include picklist values, sales processes,
Finally, the Force.com IDE is an Eclipse plug-in that enables you to develop applications on the Lightning Platform and port them from one environment to another. Developer-friendly and powerful, the Force.com IDE enables you to push more metadata components than a change set but requires more technical knowledge to leverage and can cause a greater degree of damage if used improperly.
Salesforce Deployment Best Practices
There are a few best practices every business should observe and enforce to ensure the success of their Salesforce deployment.
- Plan everything well in advance. The best deployments are meticulously planned so that absolutely everything is accounted for well in advance of go-live. Carefully consider the implications of your Salesforce deployment and give yourself plenty of time to build and test different scenarios before initiating the actual deployment.
- Build everything in a sandbox environment first. A sandbox gives you a safe place to build out and test applications without any negative real-world consequences prior to deployment. Make sure your sandbox is a true replica of your production environment — that is, that it contains all of the same data, metadata, object records, and applications as your production environment — for most accurate results.
- Test, test, and test again. Your deployment isn’t complete until you’ve thoroughly evaluated it for quality assurance purposes in production. The final QA checklist for your sandbox might yield very different results from the checklist for production because the two environments might’ve become out of sync in the time between building your new configuration in the sandbox and deploying it live. The reason for this lack of synchronicity is that your sandbox is only an exact copy of your production environment when it is created or refreshed. Changes made to your production environment don’t automatically flow through to your sandbox, so it’s important that you consistently update your sandbox to reflect production and perform final QA testing on your production environment as an added precaution.
- Give pre-deployment a try. Pre-deployment is ideal when you know that a deployment is going to take a significant amount of time to complete and can’t be initiated until after regular work hours. Rather than stay up all night monitoring the deployment, pre-deployment enables you to push changes to your production environment without pushing them live and affecting your end users.
- Create a comprehensive release management strategy. More likely than not, you’re working simultaneously on multiple Salesforce deployment projects at any given point in time. Release management is the process by which you manage, plan, schedule, and control each of these projects — or releases — in their various stages of development. Proper release management makes it so that, no matter how many irons you have in the fire, each project is successfully completed without disrupting the continuity of the existing production org. The more thorough your release management strategy, the easier it is to enforce the next best practice on this list.
- Practice good governance. Governance, as defined by Gartner, refers to the “processes that ensure the effective and efficient use of IT in enabling an organization to achieve its goals.” In order to ensure good governance, you must first create a Center of Excellence (COE).A COE is a group of individuals — typically key stakeholders and business leaders — responsible for introducing and enforcing best practices, overseeing major projects, and ensuring that your org is up to date and properly maintained. Governance is, for all intents and purposes, the execution of plans put forward by your COE. When properly executed, governance ensures that everyone across your org does their job correctly, minimizes disruption and downtime, and keeps systems functioning at peak performance levels.
- Document everything. Create a paper trail for your Salesforce deployment by documenting everything from configuration settings to test plans to training materials for end users. By maintaining thorough documentation, you create a reliable point of reference to return to should you encounter any challenges in your deployment.
- Keep track of changes with version control. Collaboration is powerful, but it can also introduce challenges. The more people involved in a deployment, the more likely that changes are accidentally overwritten. Fortunately, version control systems, such as the Source Code Control System or Git, enable you to carefully document version changes and provide each member of your team with a copy of the entire repository at any time.
- Work with a Salesforce consultant. An experienced consultant knows that a Salesforce deployment is about so much more than just pushing configurations — it’s about modifying your data to ensure that you achieve optimal benefits from this incredibly powerful business tool. For example, that might entail updating your existing accounts to link to a new customer object you’re in the process of implementing. A truly qualified consultant will also have a Salesforce deployment checklist that accounts for every single aspect of the process, from the order of activity to the types of features you’re deploying, so that no stone is left unturned.
What Can VennScience Do for You?
When it comes to Salesforce deployment checklists, VennScience’s is one of the most comprehensive in the business. We curate our checklist throughout the entire lifecycle of the project to keep track of our tasks and to ensure the proper order of operations. We share this checklist with the client through Quip for Salesforce to give them visibility into our deployment process, allowing for a truly collaborative approach.
Best of all, we bring years of experience and a deep understanding of Salesforce best practices to every project, so you can proceed with full confidence knowing that your Salesforce deployment is in capable hands. Contact us today to learn more about what VennScience can do for you or to kickstart your deployment — we’re here to help.