Migrations: A Sneak Peek

Pete Nicholls

I’m excited to announce a new feature today we’ve been working on for some time. A glimpse into the future of Karabiner.

Migrations Preview

Migrations brings order to your deployment process, making it faster and easier to roll out new changes, all while keeping everything and everyone on the same page.

I hope you’re as excited about it as we are, and sign up for the Early Access Programme. We think it’s going to have a big impact on how you make changes in Salesforce.

Over the next few weeks, we’ll be sharing more about Migrations with you. But in this post, I’d like to tell you how we got here and why we’re taking a different approach to deployments from what you might have seen before.

How it came about

Our goal at Karabiner is to empower teams working with Salesforce – to make them happier and more productive. After all, we work with Salesforce, too.

Over the last year, we talked to many Salesforce admins and developers. Our mission was to understand how different companies use Salesforce and learn where the biggest problems are. We learned a great deal, and gained a lot of insights.

But we heard one thing over and over.

Deployments are painful

We knew this from our own experience, but we were surprised at how universal the sentiment turned out to be.

Teams routinely spend days deploying large changes in Salesforce. It’s often a long, drawn-out process where a lot can go wrong. Most teams respond by developing risk-mitigation strategies like relying on regular release cycles, enacting stringent change policies, and grappling with awkward-fitting and time-consuming tools (Salesforce Change Sets, anyone?).

The more stories we heard, the more determined we became to do something about it. Let’s solve it! But how do you “solve” deployments? What would that look like?

Salesforce is a complex system, and deploying changes across orgs requires great care and coordination. Very early on, we realized the reason no-one had invented the perfect deployment process: there isn’t one.

It’s all about the workflow

At the heart of it, we knew we wanted to build the easiest way to sync changes between orgs we could. Starting there, we quickly realized that even the best-prepared deployment can still take several run-ups.

Charlie Brown wondering whether to kick the football
Illustration of the typical run-up to a Salesforce deployment © Charles M. Schulz

No matter how well thought out a deployment process is, there will always be times when manual changes are needed. Where a change has to be signed-off. Where a deployment has to be reworked to fix a failing issue. Where a test needs to be written.

So we baked this into the workflow.

Each Migration lets you build your changes iteratively, making multiple deployment attempts along the way.

Changes are selected, a deployment fails, and the change is iterated

Working in this way lets you quickly build and collaborate on changes, reacting to feedback from Salesforce. This helps you build faster, safer deployments.

Migrations are also collaborative. You can discuss changes with your team-mates, track progress, and keep all of your notes and to-do items related to the change you’re making in one place.

A Migration discussion

It becomes record not only of what changed, but why it changed.

And this is what Migrations is all about. By putting the focus on your whole workflow rather than the smaller pieces of the puzzle, we believe we can build a better solution to Salesforce change management. (Rest assured, we’ve put a lot of thought into those smaller pieces of the puzzle, too.)

So stay tuned for upcoming blog posts as we dive deeper into some of the features behind Migrations, and see you in the Early Access Programme!

Want to help shape Migrations? Register for the Early Access Programme today and have your say. Enjoy the post? Let us know what you think on Twitter.

Upcoming Features Deployments
Photo of Pete Nicholls
Pete Nicholls is a Karabiner developer based in New Zealand. He likes coffee and thinks you should follow Karabiner on Twitter.