Subscribe to my full feed.

Syncing Sandboxes

One of the biggest changes we saw when moving from an on-premise CRM solution to Salesforce was the difference in development time for small changes (such as modifying a page layout).

Previously, we had used the time-tested method of "develop in dev, test it in QA, deploy to production", which we still use for major releases and integration work. But for a page layout change? Yes - even there, our old system required that to mitigate the risk that a missing semi-colon or bracket could bring down production for a time, so a 5-minute task turned into weeks of project requests, approvals, scoping, developer time, weekly release dates, testing, and deployments.

Now, we're back to 5 minutes! Life is good.

But the challenge arises when we need to do large integration projects or other major developments. How do we keep our dev and QA sandboxes in sync with production? Typically, we would just do a refresh from production, and we're ready to start developing! However, due to the nature of our integrations, we have to refresh at the same time as our other on-premise apps refresh into their QA environments - once every 6 months.

For a while, this meant triple development - add the field in Prod, add the field in QA, add the field in dev. Ick.

The we discovered the Force.com IDE in Eclipse! Now, we periodically "deploy" from Production to our QA sandbox, ensuring all configuration is in sync, without touching the data that the integrations rely on. All in just a few minutes.

And a good thing too - as you'd expect, our "triple development" solution, and the potential for sub-optimal syncing had created a number of discrepancies between the environments - not to mention that our QA environment now has access to all the reports and list views used by production.

The developer sandboxes that were once a royal pain, are now a great benefit - and ease deployment into production as well. And it's easy to deploy. That's the key.

Very cool.

0 comments:

Post a Comment