Salesforce is constantly evolving its tool set for developers. And to improve its modern developer experience, Salesforce is now providing an integrated, end-to-end lifecycle that is designed for high-performance agile development. Known as Salesforce DX (Developer Experience), this open standard developer experience allows developers to work with any externalized source, while incorporating version control. Its flexible nature allows them to build with tools and practices they love and are familiar with, either individually or with a team, giving a whole new dimension of convenience and excitement to building software.
What do your developers stand to gain with Salesforce DX?
In one, quick sentence – FASTER INNOVATION WITH A MODERN SOFTWARE DEVELOPMENT EXPERIENCE.
But before we discuss the advantages of Salesforce DX, it’s important to evaluate the current model, with lifecycle and technologies that your teams are familiar with. However, the current model makes team coordination a tough task. Since the version control is not seamless and the model does not support continuous integration or agile methodology, it’s harder to automate testing, to roll-back releases, or to create separate version modules – things that matter a lot to software developers; and one that you can help fix with the introduction of Salesforce DX.
Salesforce DX has an improved VCS or Version Control System that allows developers to have more control over collaboration, auditing, and disaster control. It empowers developers to improve both quality and time to market through continuous integration and delivery (CI and CD). They also get enhanced visibility and clarity into the change management of the Production Org, which is the bedrock of code, configuration, and customization. Salesforce DX also enables developers to apply more agile release management processes.
Let’s take a look at some of the highlights of Salesforce DX:
- Team development and collaboration – Salesforce DX is about building together. The highlight of DX is working in large teams, where collaboration is made fun and easy, with tools your developers enjoy working with. As a team, they find flexibility, and the power for high-performance agile development, like never before.
- Source-driven development – Imagine being able to provide all the benefits of modern collaboration technologies to your team of developers. With Salesforce DX, your developers get access to everything, from Git and version control to third-party test-and-build automation tools, along with the ability to export more of the metadata, define data import files, and specify the edition, features, and configuration options of their development, staging, and production environments.
- Faster testing and development – A new environment called Scratch orgs helps developers drive development, testing, and continuous integration. Testing codes, validating changes, immediate testing and promoting of code is made surprisingly speedy, not to mention, disposable when done. As soon as these tests are passed, your developers can move on to final testing on the main org, which translates to rapid building and deployment.
- Open and standard developer experience – Developers love their favorite tools; and Salesforce DX allows them to work with those tools, thanks to an out-of-the-box developer experience that enables them to use tools of their choice, in a coding environment that they prefer. With open APIs and CLIs, Salesforce DX provides an integrated development environment that has ‘flexibility’ written all over it!
- Reimagined packaging – Salesforce DX offers Managed Packaging, a new way for developers to organize their metadata and distribute apps. It allows customers and partners to organize their metadata and distribute apps while adopting a source-driven, CLI-centric approach to automate and manage the end-to-end app lifecycle.
Should you set up Salesforce DX?
Development teams are always under the pressure of keeping up with evolving business needs. And Salesforce has always pitched in with little or no code development, enabling larger and boarder groups of people to ‘own’ their applications, helping businesses to be more agile. But with increasing business requirements, solutions need more traditional and bespoke development process; one that Salesforce supports with Force.com. However, traditional development teams need a more dynamic programming environment where releases can be pushed out quickly and more frequently. This is where Salesforce DX comes in. It’s Salesforce’s endeavor to sustain the traditional development teams by providing the requisite tools and support, with Salesforce’s recognized commitment.
Dev-heavy teams, who have stringent requirements and follow rigorous practices, have long used ‘limited in supply’ tools for version control. But with Salesforce DX, the one philosophy that has been established right from the start is that “Version Control is the source of truth”. For traditional developers to work and collaborate effectively, this means a lot – version control brings with it convenient collaboration, auditing and disaster recovery, and most importantly, an agile release process – which means everything to program development.
So, to answer the question – Should you set up Salesforce DX? – Yes; especially if you have traditional developers, who believe in agile development and putting features in the hands of users as quickly as they need them, but with minimal risk.
Some ‘Challenges’ of Salesforce DX
As with any new set of tools, the one challenge that you may face with Salesforce DX is its newness. A few missing pieces and a learning curve means developers have to familiarize themselves with a fresh development cycle and technology. System admins may also have to operate differently due to the heavy usage of command line instructions. Your team may also need the support of best practices to ensure it works with DX together and in its entirety to leverage benefits and maintain the value of the process.
If you have any questions on Salesforce DX, write in to firstname.lastname@example.org.