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 plot out the best course for an upgrade based on your unique situation and how your engineering team needs to tackle daily production work.
Find out how the best kind of upgrade can goHow can we help?
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 experienceFind out how we did it
Get people onboard up and down the org
We focus first on getting the upgrade itself completed without disrupting the day-to-day. We also put a plan in place to leave the team in a better state to run with upgrades moving forward. So no one needs to stress about future upgrades.
We'll work with your team to proactively identify risks and our experienced consultants will work to mitigate and reduce the amount of time necessary to address them. Dependencies identified and prioritized. Get current versions running with functioning tests and test coverage. A 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 expectChat about the process
Tips and tricks for your upgrade strategy
Rails upgrades 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.
Supporting two versions of Rails can be easier with a dual boot strategy. If you're working in Rails 4.x you might discover an incremental approach gets interesting, because Bootboot doesn't play well with older dependencies. You can solve for that using Docker.
How does a zero downtime Rails upgrade sound?Watch the talk
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.