Regardless of our strategy, our goal as Salesforce Platform owners should be continuously improving the features and functionalities available to your end users. Your Salesforce subscription helps with three massive releases a year, which should be seen as steady returns on your investment. To maximize the gains from your investment, build an organization focused on continuously improving your Salesforce Platform by delivering new features and taking advantage of these releases. If you make delivering changes easy, transformation becomes natural.
While some of us have gone beyond standard features to maximize value, we can all benefit from a Continuous Integration/Continuous Delivery (CI/CD) development pipeline to reduce the cost of deployments and create a flexible change management environment. Unfortunately, we can no longer rely on a static tech stack or delay those upgrades. We now have to embrace continuous improvements and quick deployments.
Most successful Salesforce platforms have some sort of a CI/CD Pipeline that can deploy to production in minutes without downtime. With the space to build and ideate, development teams use the CI/CD tools to synchronize code to upper testing environments and push it into production with a click of a button. They’ll also use LEAN and true Agile behaviors to create a DevOps cadence, focusing on the characteristics of success rather than explicit tasks.
Development in most languages has been leveraging continuous improvement methods for over a decade. Most Salesforce customers have been slow to adopt these methods because of the Salesforce Platform itself and the people who manage it.
Firstly, the Salesforce Platform behaves very differently from a standard server or custom application. You can’t build a local instance of salesforce on your laptop; it runs in the cloud, and you deploy functionality by updating a specific salesforce instance. There are limits to what types of changes can be deployed, and tracking instance changes is very challenging. You often need to log in to an org and make system administrative changes manually to complete a deployment (AKA – what a system admin profile needs to do a lot of the time).
Secondly, Salesforce development is a very specialized skill requiring declarative/admin skills with programmatic/coding skills as a plus, making it a barrier for Salesforce customers to adopt continuous delivery practices. Do monthly deployments, lack of improvements, change control boards, long dev cycles, and sleepless nights ring a bell with any of you? In 2017, the Stack Overflow developer survey said Salesforce tied with Sharepoint as the “most dreaded platform to develop on.” Most Salesforce developers don’t do custom development on other platforms, which led to a lack of cross-pollination between common ideas in the Java, Javascript, .NET, and Ruby worlds. Even when traditional developers are transplanted into a Salesforce project and reskilled to work on Apex or Lightning, they find their daily build, test, and deploy tools useless in the new Salesforce world. Instead, they are given “change sets,” an ANT migration Tool, and very few examples of how one might build a comprehensive CI/CD (Continuous Improve/Continuous Delivery) pipeline for this platform. The brave few ventured into configuring complex Ant “targets” using XML and triggering them using Jenkins. Still, for the most part, these teams cobbled together a mix of manual steps with light automation, tackling deployments one at a time and as infrequently as they could get away with.
A growing number of CIOs and IT directors recognize the centrality of Salesforce in their businesses and the growing complexity of their implementations. Salesforce themselves continue to field challenging questions on how to continue to maintain all of this great innovation. Having the right CI/CD tools is part of the cost of the innovation; here’s a quick list:
1. SFDC DX
2. Dev Hub
3. Scratch Orgs
4. Feature Release Packaging
5. Metadata API vs. SFDX source formats
6. SFDC Command-line interface (CLI)
Please look out for other blogs around CI/CD tools and best practices. For more information about CI/CD practices and how best to maximize your Salesforce investment, please feel free to contact us!
Kevin Yamada
Salesforce Practice Manager
As the Salesforce Practice Manager, Kevin brings over 12 years of experience managing business application and technology management teams and delivering digital transformation projects to publicly traded companies such as PTC, Forrester, and Houghton Mifflin Harcourt. He brings a wealth of technical expertise on the Salesforce platform to the Roycon, where he will partner with Solution Architects, Developers, Business Analysts, and App Builders to ensure the quality and effectiveness of our solutions. He looks forward to his new role as a partner and helping Roycon clients meet their goals.
About Roycon
We’re an Austin-based Salesforce Consulting Partner, with a passion and belief that the Salesforce platform’s capabilities can help businesses run more efficiently and effectively. Whether you are just getting started with Salesforce or looking to realize its full potential, Roycon specializes in Salesforce Implementations, Salesforce Ongoing Support, and Salesforce Integrations, and Development. We’re the certified partner to guide the way to increase Salesforce Adoption, make strategic decisions, and build your Salesforce Roadmap for success.