Skip to main content

Best Practices Matter for Accelerated Salesforce Release Management

DevPps Master Sereis Banner - Tarun Gupta

Today, most Salesforce development teams are adopting native DevOps tools and moving away from custom-built dev processes. While they are taking the right step in adopting native solutions, they are often overlooking best practices and change enablement that go along with implementing new tools and processes. When you’re using bad practices instead of best practices, you’re going to run into a lot of issues.

Impact of Bad Practices

Even with a Salesforce deployment tool, teams can see bad results if they aren’t following a standard process. For example, when we first implemented DevOps in the past, we hadn’t yet adopted quality gates or set up our auto-merges to sync into the most current test version of our code base. This meant we were merging into the wrong branch version AND not testing for errors. Ultimately, we ended up merging changes that weren’t complete or correct and we faced a lot of issues in UAT (user acceptance testing) and production. 

Here are some of the other common outcomes that go along with bad release practices:

  1. Unexpected technical or business problems
  2. Increased downtime
  3. Wasted development time on troubleshooting and rollbacks

These outcomes add up quickly and create risk!

common outcomes that go along with bad release practices

What happens if you implement best practices?

We have seen massive productivity gains when we followed Salesforce release management best practices into our development processes, including reduced deployment time of 80-90%. Take a look at these before-and-after metrics:

Before Implementing Copado Best Practices

After Implementing Copado Best Practices

Deployment Time: 4-6 hours if we run all local tests

5-7 minutes deployment time when we run specific tests 

Allow developers to deploy apex classes with less than 75 % code coverage, risking deployment failure

Do not allow developers to deploy an apex class with less than 75% code coverage, ensuring best-case deployments 

Allow multiple people to perform manual steps which impacts the performance of a release 

Allow one person to perform manual steps, resulting in faster performance of release 

Release without testing and quality check

All testing (even after deployment)  performs unit, UI, UAT, integration, functional, regression, and system testing as needed

Not planning your sprints, environments or testing and development strategy,  impacting the performance of a release 

Always planning every sprint, environment as well as development strategy & tool so better and accelerated Salesforce release

So what are the best practices for Salesforce release management? 

Here are 6 ways to improve Salesforce release management process to ensure a safe and speedy deployment:

  • Investing in the right native tool: Just like admins are now developers; all Salesforce professionals are now DevOps professionals. A native tool offers a familiar UI that makes it easy for everyone to adopt DevOps, whether you’re an admin, admin-eloper, or full stack developer!
  • Use small batch deployments: Deploying less code and configuration = less risk. When you deploy small changes frequently, you are less likely to miss errors or struggle to tie changes to specific functionality issues. 
  • Getting rid of changesets isn’t enough: Implement version control to help your teams collaborate and make changes without creating chaos.
  • Move functional testing earlier in the process: Automating functional tests at each merge and performing UAT between each sandbox can actually speed up your process. And with automated regression, you can quickly perform end-to-end UAT before production deployments.
  • Know what you’re merging: Don’t merge unused metadata, missing sObjects, custom objects, and code coverage of more than 75%. And validate custom code rather than just using built-in Salesforce functionality.
  • Use automation: Configure quality gates, trigger tests, and automate your continuous integration jobs to mitigate human error. 

I love Copado because it’s more than a tool. It allows you to enhance your Salesforce release management process across testing, version management, access management compliance, and more. By building best practices right into their platform, Copado helps accelerate DevOps success.

About the Author

I am a Sr. Salesforce Developer & Release Manager and a proud mentor at Trailblazer and Copado. I guide mentees all over the world on their Salesforce journeys & also Copado on their DevOps Journey. I believe the use of Native tools for DevOps within Projects to help simplify the release process of clients. I actively support all NGOs majorly for child education, recycling & nature. I also do Modeling & Dancing in spare time.