A Guide to Salesforce DevOps
Salesforce is used by companies of all sizes to manage key activities like customer service, sales, and data management. The platform allows for high levels of customization so companies can build and deploy solutions that address their unique needs while utilizing the core capabilities that make Salesforce such a powerful tool.
Smaller organizations often find platform customization manageable to handle manually or by using Salesforce-native capabilities like change sets to address their needs.
For larger, more complex organizations, this is impossible to do without the risk of frequent errors due to low version control and the accumulation of technical debt, which leaves companies continually playing catch up and working to solve existing problems rather than developing innovative new solutions.
The answer? SalesForce DevOps.
Benefits of DevOps
Coined in 2009, the term DevOps can be defined as “a combination of cultural philosophies, practices, and tools that aims to shorten the development life cycle and provide continuous delivery with high software quality.”
SalesForce DevOps can significantly increase the speed and scalability of solutions implemented by development teams to solve problems and enhance Salesforce capabilities. In order to be successful, it requires seamless deployment, ongoing management, and high organization-wide adoption that allows DevOps solutions to actually take effect.
This can be done through a set of key tactics.
- Version control – Version control tracks who made what changes and when they made them. This is usually enough information for developers to also determine the why behind a particular action.
- Rollback Capabilities – In short, this means that if errors occur during a deployment or it otherwise does not go as planned, changes can be quickly rolled back until a solution is found.
- Testing and Reporting – Automated, periodic tests to ensure deployed solutions are running smoothly accompanied by frequent reporting on user experience and performance means devops doesn’t stop at deployment — it addresses ongoing issues and continually works to optimize effectiveness.
- Collaboration – DevOps facilitates a level of real-time information sharing via the previous three tactics that allows for better collaboration across the development team but also between developers, administrators, and users.
- Data Backup – Backing up both CRM records and metadata is imperative to ensure information doesn’t get lost no matter what kind of flawed deployment or other error may occur.
Jack McCurdy of Gearset offers valuable insight into how Salesforce-specific DevOps are important to company performance and best practices for doing it well in his recent webinar, The 5 Pillars of a Successful Salesforce DevOps Process (embed).
Salesforce DevOps Insights
The State of Salesforce DevOps Report, published earlier this year, highlights the ways that high-performing Salesforce user teams are implementing successful DevOps strategies and also identifies challenges companies are facing (in no small part due to the unexpected and drastic events of 2020).
The report is based on findings from a survey of 200+ companies with an average of 9,000 employees and representing a wide range of industries including financial services, technology, education, healthcare, government, and retail.
The report divides respondent companies into four categories based on performance: low, medium, high, and elite and found extreme differences between the lowest and highest performers. The numbers tell the story best; compared to low performers, elite performers have:
- 82% of companies surveyed have increased their budget or effort allocated to digital transformation
- 82% have maintained or increased the size of their Salesforce development teams
- 97% work with system integration partners
- 81% expect system integration partners to help define DevOps processes
- 71% use a commercial Salesforce deployment tool
- 100% of elite performers were also higher performing overall (measured by profitability and meeting of company goals)
These results overwhelmingly indicate that companies are not only using Salesforce DevOps but are seeing an increasing importance in allocating funds and resources toward its success. Further, companies that are already using Salesforce DevOps effectively are seeing significantly better organizational performance results overall.
Tools That Can Help
Salesforce Developer Experience (DX) offers some free features like command-line interface (CLI), scratch orgs, and visual studio code that support DevOps — but they aren’t DevOps themselves.
There are several paid DevOps apps accessible through the Salesforce platform that focus on specific aspects of DevOps (like specialization in deployment or data management) and others that handle many or all of them.
Ben McCarthy’s comprehensive Salesforce Guide lists more tools (by use category) and expands
on their capabilities.
The Value of Expert Support
With 97% of companies working with system integration partners and 82% seeking DevOps solutions from those partners, the value of expert support is clear.