What does Salesforce DX mean for Admins?

Pete Nicholls

Salesforce DX is a welcome new approach to development on the Salesforce platform that allows developers take advantage of modern software development techniques. If you’re an admin, though, you might be wondering how you fit into this picture.

What is Salesforce DX?

From an outside developer’s perspective, Salesforce can look quite strange. Best practices many professional software developers take for granted – version control, continuous integration, continous deployment, end-to-end testing – have been difficult to do with Salesforce. Salesforce DX is an attempt to make these easier to achieve and strengthen the platform for developers.

How will I be affected?

Salesforce DX is aimed at professional software developers, so if your org is mainly config, Salesforce DX probably won’t affect you. On the other hand, if you do share your orgs with developers, you might need to adopt some new practices.

Code vs. config

In an ideal world, admins would manage config, while developers would manage code. The reality is more complicated, with developers often sharing the responsibility for managing configuration changes in an org.

A central tenet of Salesforce DX is that configuration can be managed outside of the org itself – an idea that appeals to developers, who are looking for a way to define a “single source of truth” – one place where all the code and configuration is neatly specified, and the code is guaranteed to work with the config.

Version control

For Salesforce DX to be effective, code and configuration needs to be stored in a version control system (VCS). Storing code and configuration together in version control makes it possible to “apply” the source of truth to an org, overwriting settings and updating configuration to match the source of truth. This makes deployments much safer and more reliable.

Unfortunately, all of the tools for managing this source of truth are exclusively designed for developers (for now, at least). But that doesn’t mean admins can’t work alongside developers – just that there needs to be a good process in place.

Coordinating changes

Admins and developers can work together successfully with Salesforce DX, but there are some caveats. Ideally, you want to take advantage of both an admin's ability to swiftly customise an org and Salesforce DX’s ability to safely and rapidly release changes. The trick to working effectively is to have some ground rules:

  • Changes admins make will need to be added to version control by developers
  • Deployments should be done through version control
  • Config changes should never made directly in production
  • Good communication is a must

Is Salesforce DX right for our team?

It’s early days for Salesforce DX. It’s only available as a preview at the moment, and there is still some work to be done, so it’s not much more than a demo at this point. But looking ahead, there are major advantages to adopting Salesforce DX:

  • Continuous deployment – being able to deploy the moment features are ready
  • Continuous integration – being able to check that each new change doesn’t break existing behaviour
  • Safer deployments – guarantees that the code fits the configuration and roll-back
  • Easier debugging through version control
  • Easier code sharing

However, these features mostly benefit professional software developers. Tying an org to version control with Salesforce DX isn’t a step that should be taken lightly: the team needs to be proficient with version control and comfortable with the command-line first.

What’s missing from Salesforce DX?

Tools for admins. Salesforce has done a commendable job of bringing the platform up to par with modern software development practices and Salesforce DX has laid the foundation for a new way to manage release lifecycle of the org. Unfortunately, there’s no good way yet for admins to contribute to the deployment process of a project managed by Salesforce DX.

A path for the future

Any new way of managing orgs needs to accomodate both developers and admins. We think admins should have the power to contribute, review, and deploy changes from a Salesforce DX-managed environment.

Over the last year, we’ve been building an admin-focused solution for deploying changes we call Migrations. Our goal is to make deployments simpler, faster, and safer for everyone.

Discussing and reviewing Salesforce changes

Incorporating version control has always been a part of our long-term vision. We think, like Salesforce, that the benefits of version control are significant, so we’ve designed certain parts of our interface to work well with version control.

Migrations

But we go further than code diffs. We present the changes in a human-readable way, giving them context, making them understandable.

Migrations

We think this is the interface that’s missing from Salesforce DX. That’s why we’ve decided to commit to supporting Salesforce DX in the long run – so that when Salesforce DX becomes generally available, admins and developers will get the best of both worlds.

Salesforce DX is exactly what the development community needs. With Migrations, we hope to do the same for the admin community.

Help us make this happen!

You can get involved. Join our Early Access Programme today, and help us shape the features we build. It’s completely free for you and your team until we launch next year.

Learn more about Migrations and join the Early Access Programme today.

Salesforce Features Admins Dreamforce 2016 SFDX
Photo of Pete Nicholls
Pete Nicholls is a Karabiner developer based in New Zealand. He likes coffee and thinks you should follow Karabiner on Twitter.