Smarter DevOps with Salesforce DX - Archive of IC Blog

Smarter DevOps with Salesforce DX

As a software engineer heading up our R&D team, I am focused on achieving high quality in our DevOps process in an effort to deliver high quality to our customers.

Our company continues to grow year-over-year (recently hitting our 7th year on Inc 5000), and we are always looking for ways to Work Smart as we scale. This is especially important in the DevOps process, because we have multiple Salesforce applications that we manage for our global customers, as well as new products and features that are in the works.

As a software engineer heading up our R&D team, I am focused on achieving high quality in our DevOps process in an effort to deliver high quality to our customers. About 6 months ago, I made it my mission to dive deeper into Salesforce DX to explore its functionality, and determine if/how we should leverage its features to streamline the development of our apps.

That exploratory effort has evolved into larger systematic improvements that has enhanced my team’s ability to build, test, QA, and get approval for their work. We’ve seen more thorough testing and quality assurance, quicker turnaround for bug fixes, and faster push updates to customers.

Why We Chose Salesforce DX

Salesforce Developer Experience (DX) is a collection of tools built for developers in order to improve how they build, test, and release packages. It allows for a number of different processes to be streamlined while also providing better flexibility and control. 

At the core of DX is scratch orgs; source-driven, fully configurable, and disposable environments that can be used for rapid development and automated testing. And while they’re useful on their own, it wasn’t until I discovered GitLab’s pipelines that the true power of scratch orgs was unlocked. By building various jobs that run on GitLab’s virtual machines (aka runners) we’re able to test, validate, and deploy code automatically as it works it’s way through our repositories.

With tests running at every possible step in the process, including when code is pushed to the repo, when merge requests are created, updated, or approved, and daily at a scheduled time, we’re able to detect potential regression or bugs earlier than ever. This means we’re catching them when they’re at their easiest to squash and limiting their chances of making their way into any of our customers’ environments.

And because all of this runs through automated jobs, and thanks to GitLab’s protected branches, we’re able to focus responsibilities across the DevOps process in order to more tightly control who, when, and how updates are made to our apps. Gone are the days of unintentionally destructive changes like removing code or deleting a packaged field.

A comparison of the old DevOps process with the new improvements we are embracing at IC.

Benefits to our Customers

Since we’ve been able to improve our process on the R&D team, we are already seeing improvements in the development and release lifecycles for our AppExchange apps like Simple Survey, Case Merge Premium and Email to Case Premium. Our Product team is seeing the immediate benefits as well:

In the short time our R&D team has been leveraging Salesforce DX, our application production process and our ability to work smarter has improved exponentially, allowing us to deliver an even higher level of product quality to our customers.  – Howard Yermish, Director of Product at Internet Creations

Tools that Helped Me Dig In

On my DX learning journey, I found the following resources to be especially useful:

  1. The Quick Start on Salesforce DX in Trailhead is a great place to start! 
  2. Salesforce’s Continuous Integration article really got me thinking about exploring larger CI process changes.
  3. GitLab +Salesforce: DevOps Made Easy” covers a lot of what we’ve recently implemented at IC. 

I’m looking forward to more experimentation as we continue to refine and improve our DevOps process, and I intend to share more about the lessons we are learning as we go. Do you have your own Salesforce DX lessons to share? Connect with me on LinkedIn and let’s talk shop. 

Learn more about how IC’s Salesforce applications are transforming the customer experience from standard to exceptional with the Service Experience Suite, a four-part solution for Salesforce Service Cloud.

Steve Babula
Latest posts by Steve Babula (see all)
Steve Babula
Steve Babula
Steve is a Salesforce Certified Application Architect and Manager of Research and Development at Internet Creations.