No one really wants to do an upgrade

So many things could go wrong, and maintaining the status quo can feel, well, safe, right? Except the longer you wait the more likely something will go seriously wrong.

We can help you simplify and plot out the best course for an upgrade based on your unique situation—and how your engineering team needs to tackle daily production work.

We focus first on setting up a strategy for an approach that won't disrupt the day-to-day. We also put a plan in place to leave the team in a better state to run with Rails upgrades moving forward. So no one needs to stress about future Rails version updates. Because there are always future Rails updates!

Find out how the best kind of Rails update can go

Start the conversation
Test Double logo rubber duck programmer sitting on a messy pile of LEGO bricks

Collaboration pays off for Gusto

Test Double came in to boost Gusto’s technology stack and upgrade from a legacy version of Rails, so their team could continue to deliver critical features and ship new products.

Rails upgrades can be complicated. We brought together a comprehensive approach that considered things like impacts to unexpected areas, working within unique constraints of their team, and minimizing disruption to to critical day-to-day production.

A more predictable upgrade plan built on experience

Read about how we did it
Piggy bank

Avoid downtime and mitigate risk while updating Rails versions

Zero downtime Rails upgrades is a fancy way of saying updating Rails versions doesn’t have to be a blocker.

We'll work with your team to proactively identify risks specific to your Rails version situation. Our experienced consultants will work to mitigate and reduce the amount of time necessary to address risks and blockers.

  • Dependencies identified and prioritized
  • Current versions of Rails running with functioning tests and test coverage
  • Dual boot strategy that works for your team

Most importantly, we'll empathetically help your team get comfortable with continuous small changes to help manage the risks and address stakeholder concerns. We believe in incremental progress, enabling learning, and communication to help others understand changes so future upgrades are easier.

Perspective on what to expect

Chat about our approach
Green dinosaur toy attacking a motherboard

Tips and tricks for your upgrade strategy

Rely on our experience updating the largest Rails codebases in the world

Rails version updates can be a slog. We've been there at some of the biggest Rails shops around—and learned a few useful things to help make your upgrade go smoother.

While helping GitHub with their Rails upgrade we contributed ActiveSupport's Disallowed Deprecations to help others. While working on more upgrades we contributed gem_dating to show how long it's been since a gem received any attention.

Supporting two versions of Rails can be easier with a dual boot strategy. And what about starting your upgrade work before ever running 'bundle update rails'? Let deprecations work for you.

How does a zero downtime Rails upgrade sound?

Watch the talk
Two toy construction workers wearing orange jumpsuits, working on a motherboard with a drill and a pick axe

You get an upgrade, and you get an upgrade ...

Our Double Agents have worked on upgrades across a wide variety of languages, frameworks, and situations:

  • Ruby on Rails shops as large as GitHub and Gusto
  • Ruby, Rails, Elixir, React, Vue, Golang, Python, Angular, AngularJS, PHP, Vue, and more
  • Gems, JS packages, developer tooling, CI/CD, logging, analytics tooling
  • Startups and privately held companies at inflection points for scaling

We've come across a wide array of upgrade-related challenges and helped clients emerge with more secure, more maintable codebases.

Don't push off your upgrade—later is never

Let's talk
Toy robot holding a wrench while standing against a bright yellow background