From a merge train to continuous deployments

Team Size
10
developers
Structure
Monorepo
CI Runtime
10 minutes
Deploys
Continuous
Featured integration
MergeQueue

From a merge train to continuous deployments

Staff Software Engineer

Joined Shippabo as Staff Software Engineer. Ben's focus was to lighten the team's load by managing a merge train, taking on the load of manually managing PRs. Developer happiness is a big factor when adopting platforms and for the team as a whole.

"Aviator was an immediate, and I would say massive time saver. Definitely a sanity saver for us. One of the reasons we weren't doing releases more often than every couple of days was this contention point of managing PRs was tough to deal with. Since then, we deploy all the time."

Challenge

Shippabo has a highly productive engineering team with a robust set of end-to-end, and integration unit tests. The problem is, every merge would restart deploys making PR prioritization difficult, even with automation in place. Merging became an increasingly larger problem as the sophistication and size of their development team grew.

"If one person wasn't managing merges, we'd run into the ‘dance of merge’. Merge from master, wait for end-to-ends to finish. Oh, another came in, do this again. This slows down everything as a result. You have a very fast team that ends up at a choke point because it's tough to deal with a lot of PRs.

One night, we were in the middle of a large release cycle, Shippabo’s 2.0 release. I had been managing 13, 15 PRs. So I would list out, ‘here’s the order these are going in’, but it’s late, and I’m like, I should look at something else because this is not something I want to be dealing with as the team scales."

From a merge train to continuous deployments

Staff Software Engineer

"I didn't want something that caused us more headaches or reduced our flexibility in a tradeoff. I found a couple other merge queue products, but when I got down to the documentation, there were certain rules that were effectively enforced. There's nothing wrong with being opinionated, but I didn't want a situation where it's much tougher to introduce something that says we need to change the way we do things that already work.

I needed something seamless that could fit into our existing workflow without actually having to retool anything."

From a merge train to continuous deployments

Staff Software Engineer

Integration

Shippabo needed a customizable merge queue platform that didn’t disrupt the team’s workflow and efficiency. The team didn’t want a situation where introducing a platform would change the way code is deployed.

  • Needed a customizable merge queue.
  • Unsatisfied with Aviator alternatives.
  • Wanted a positive developer experience.

Impact

Aviator MergeQueue has increased throughput and evened out spikes from high-volume merging. Prior to Aviator, Shippabo’s team went from spending a day of engineering effort per week on managing their ‘merge train’, to not thinking about it anymore. The team is now able to deploy all the time, rather than releasing every couple of days.

"In terms of the whole, oh, we gotta wait, sometimes we'd have people waiting to deploy like, oh, this just got merged, we got to rerun the end to ends and it was just super annoying.

We don’t think about it anymore.

Aviator was an immediate, and I would say massive time saver. Definitely a sanity saver for us. One of the reasons we weren't doing releases more often than every couple of days was this contention point that was tough to deal with. Since then, we deploy all the time.

The only thing that's being done is waiting for the build to conclude. Aviator for the most part has wiped out everything other than maybe a 10 minute conflict at the very last PR."

From a merge train to continuous deployments

Staff Software Engineer

"The dev experience for aviator is very high. For people that want to look at builds in progress or things in the merge queue, the interface is clear, and highly discoverable. We can see the list of things going on but it’s not something obtuse to set up or configure. We have a big philosophy for ‘developer happiness’. Generally, when we adopt, architecturally, or platform-wise, we ask ‘does this make us happier’? Does this make our job easier? 

And this played a big part into our adoption of Aviator."

From a merge train to continuous deployments

Staff Software Engineer

Feature highlight

Discoverability throughout the lifecycle of a PR, a user-friendly interface, customization down to keeping conventional commits and CI-awareness were all important considerations for Shippabo when adopting Aviator.

Aviator’s focus on developer experience meant building a platform that not only makes developers lives easier, but increases developer happiness.

Let us show you how it works

Sandbox

Not sure if Aviator is right for you? Get in touch.

Join us at The Hangar

A vetted community for developer-experience (DX) enthusiasts.