What is Salesforce Sandbox seeding?
Posted by Seethu Maria Mathew
The last thing you want before a big release is a bad-code situation that creeps its way into production which in turn delays the go-live process. As a Salesforce admin or Salesforce developer or even a business analyst, you already are already aware of how difficult it is to keep your Salesforce production environment bug free and populated with a pristine data set.
According to Stripe, software developers on an average spend more than 17 hours every week on maintenance issues like debugging and refactoring. In addition, they spend approximately four hours a week on “bad code,” which equates to nearly $85 billion worldwide in annual opportunity cost, according to Stripe’s calculations on average developer salary by country.
What is Sandbox Seeding?
Populating Salesforce sandbox with data, either created or refreshed is known as Sandbox seeding. Salesforce provides four different types of sandboxes: Full Copy, Developer, Developer Pro, and Partial Copy which are used by developers and administrators for developing, testing and training purposes. The major difference here is, although all of these sandboxes provide a copy of your database to test data before moving to production, Full Sandboxes copy your entire organization’s actual data. So if the admin works in a different environment, say Developer Pro org and the developers work in their own preferred sandbox, you need to populate the environments with production data before making changes to the production org. This process is known as sandbox seeding.
The main benefits that sandbox seeding brings to admins/devs are:
- Enables you to build new features safely.
- Helps in identifying issues earlier by testing the code inside out.
- Decreases the amount of time spent to resolve bugs at the development stage.
- Offers you a secure environment to do full testing.
While sandbox seeding is a great method to enhance dev/testing performance, manual sandbox seeding is a tedious and time consuming task. 52% of top companies release Salesforce changes at least once a month. To do these changes properly, you may have to leverage sandboxes and run tests before the changes go into production. If you try to make changes directly in the production environment, developers waste their quality time debugging application issues raised in the production. Once it’s in production, needless to say, it can create huge problems. Here are some of the challenges associated with Sandbox seeding:
Challenge #1 : Highly expensive to maintain multiple sandboxes.
Maintaining partial or full copy sandboxes can heavily drain your pocket. The cost for a Full Sandbox can add up to 20%-30% of the total cost of your Salesforce production instance, and there’s a significant cost of the manual effort needed to move data between orgs using the data loader.
Challenge #2 : Incomplete data.
Seeding sandboxes can be challenging due to irrelevant data. Maintaining data relationships with Excel and Data Loader is a time consuming task. Moving relevant data subsets to the relevant sandboxes requires multiple steps. Irrelevant data limits you from fully testing the application and ends in bugs and errors in production.
Challenge #3 : Data Confidentiality issues
Sandbox data contains highly sensitive data as it is a subset of production data. It can be viewed and accessed by developers and testers alike during the development stage through training. Masking the confidential data is not easy as unauthorized access can pose huge risk to your company in the long run. Here the solution is to anonymize data during the seeding process. You can overwrite specific data with unreadable random data, or even convert it to an empty data set so that you can mask the real data which enters into production for the external dev/admin.
Challenge #4 : Data refresh performance issues
You will have new requirements coming up every time you have seeded your sandbox. But it takes a lot of time for your sandboxes to refresh once you initiate the refresh. This is because the development cycle has now lost the ability to access the latest copy of meta data according to the new requirements. This is why some code which works easily in the Developer sandbox breaks in the QA stage.
Challenge #5 : Data inconsistency
Inconsistent data can hinder admins and developers from accelerating development as it creates bugs in the production environment. The only way to solve this issue is by comparing origin and destination environments before and after release. But manually discovering differences between sandbox and production environments are easier said than done. It requires downloading and comparing large numbers of .CSV reports or Weekly Export files in Excel using VLookup. Leveraging an automated tool is the real solution in this scenario.
Developers and admins need powerful tools to populate the environments with relevant and fresh data in a consistent manner. Automating sandbox seeding can bring down the admin’s workload and accelerate your development/QA sprint cycles. OwnBackup and Spanning Backup are two great examples to get started. AppExchange has plenty of automated seeding solutions available to help you mitigate your sandbox seeding challenges. Also, you can get on a free consultation with our Salesforce experts, who will walk you through the various options and pick the right one for your organization.