Last Updated on November 19, 2020 by Rakesh Gupta
Once upon a time, Salesforce was a simple customer relationship management (CRM) tool that could be easily managed by a single person or a small team. But that time is well in the past.
Today, enterprises are transforming Salesforce into a single source of truth for the whole business and the lifeblood of the modern organization. Salesforce’s low-code software approach (clicks, not code) has opened the door for more teams and skill sets to configure on the platform, meaning businesses can realize faster time-to-value of new tools and features developed with point-and-click tools instead of writing code for maximum business agility and efficiency.
However, like all paradigm shifts, this low-code revolution doesn’t happen without a few stumbles. Standards, methodologies, and tools for code-based development have evolved over decades of software development. But declarative-first platforms, like Salesforce, are shifting the onus of managing app updates and new feature releases to configs made by Salesforce administrators and operations teams. In many cases, the concepts of development may be equally applicable to configs- and code-based changes, the traditional tools have not kept pace. One example of this is the concept of deployments.
What is deployment?
Deployment is simply the process of releasing new functionality to users. Most Salesforce admin’s introduction to deployments is through building Change Sets. Low-code super users and admins also need to consider how they will move their config changes through the release path to production, which may not be possible with Change Sets.
It’s these config-based changes that can present a host of potential deployment issues, as teams battle to release updates quickly in the name of speed and agility, without exposing their entire organization to the possibility of unintended consequences from poorly managed releases.
Deployment issues can become big problems
Like all core enterprise systems, Salesforce isn’t an island unto itself. That is, other apps and systems depend on Salesforce data being current and complete, and failing to account for dependencies when modifying or updating Salesforce apps can create a number of new challenges that Salesforce admins may not be well-equipped to handle.
Loss or corruption of relational data
Salesforce’s relational database structure allows users to relate objects to share information between objects. But those data relationships can easily be broken by poor data hygiene practices, modifying records and configuration settings, or accidentally deleting large volumes of data.
Worse, as more teams across the business add or request more apps, it increases the probability of misconfiguration because any little change or mistake can have a massive negative impact. For example, an inadvertent change to a discount rule may cause quotes to miscalculate or a miskeyed field accidentally reassigns sales accounts to an inactive user.
In either case, remedying broken data relationships for such important basic functions is time-consuming and labor-intensive, as admins have to manually scour change histories (if they tracked them) and rectify whatever errors they’re able to find — all while business users eagerly await the restoration of critical functionality.
Duplicate data between Salesforce orgs
While data relationship loss is a big concern, duplicate data can also have a significant and unpleasant impact on everyday activities often compounding relational data issues.
For example, maybe your company recently migrated from Sales Cloud to an Industry Cloud or migrated from a legacy system to Salesforce Field Service and had to migrate data from your old system. Poor data hygiene and cleansing might result in thousands of duplicate Service Resources and Territories that could cost dearly in double booking mobile employees for appointments, erroneously showing no availability and other customer service initiatives.
Duplicate data in Salesforce is pretty easy to come by and difficult to resolve. Salesforce assigns unique record IDs to each record when it’s brought into an org, but those IDs are not persistent across the different orgs in your Salesforce development landscape. And if your team hasn’t already planned for how to manage deduplication, you’re at risk for duplicates when deploying data between Salesforce orgs.
Testing before release
User acceptance testing, debugging, and regression testing are part and parcel of modern agile software development. But since Salesforce administrators aren’t trained as software developers, they usually have to rely on time-consuming and terribly inefficient manual testing to prevent bugs in apps developed in Salesforce’s low-code tools.
It can feel like a no-win situation for admins and their teams. On one hand, they know that a simple mistake like a missing parenthesis or an extra space can wreak havoc on a large number of users and groups. But on the other hand, they’re up against high expectations for quickly launching new tools and features.
Pre-launch regression testing to ward off negative impacts on dependent applications and debugging errors in an app before a release is an intensely time-consuming process that can take up to 75% of an employee’s productive time. It requires manually recreating Salesforce records, like Quotes, Contracts, and Renewals, searching for what seems like a needle in a haystack. Depending on the complexity of your configuration, this could mean recreating hundreds of records every time you make a change or there’s a new release from Salesforce—valuable time admins simply don’t have.
Eliminating problematic processes with automation
Like many challenges in the Digital Age, most Salesforce deployment obstacles can be overcome by automating critical processes and workflows. Next-generation application operations (AppOps) solutions give admins a simple way to manage changes to the reference data that underpins low-code applications with the same change management rigor developers apply to code changes.
With Prodly AppOps Release, Salesforce admins and operations teams can eliminate the most time-consuming and error-prone elements of a release by automating data deployment using an upsert operation and virtual external IDs for maximum accuracy and efficiency. The solution provides a single source of truth for data, allowing admins to track every change, compare changes, and resolve conflicts if multiple users are working on the same data and will even deactivate and reactivate workflow and validation rules to prevent errors in deployment.
At the same time, Prodly’s AppOps Test solution streamlines regression testing during a release cycle to identify issues before they become problematic. Admins can easily author and schedule test cases directly within Salesforce with a few clicks for full, continuous regression testing with instant pass/fail visibility to proactively pinpoint issues faster than ever.
In the era of low-code apps, Salesforce administrators play an increasingly important role in helping their company customize, tweak, and configure Salesforce to their organization’s unique needs. Finally, they have the tools available to them to overcome common deployment challenges and put their whole organization on the path to sustainable, repeatable success.
To learn more about implementing AppOps in your organization, visit Prodly Demo Page to schedule your free, personalized demo.