Skip to main content
Test Double company logo
Services
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say Hello
Test Double logo
Menu
Services
BackGrid of dots icon
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
Cycle icon
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say hello
Leadership
Leadership
Leadership
Rails upgrades

Why Rails upgrades are so important

When budgets are limited, can you just skip the Rails upgrades and stay on an older version? Here's what you need to know.
Test Double Editorial Board
|
February 20, 2024
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

There’s going to be another Ruby on Rails upgrade. There always will be.

No one likes the actual upgrade to the latest Rails version. It can be a long and tedious process that costs time and money with seemingly nothing to show for it. Changes can be so broad-based that it brings all feature development to a halt, causes unanticipated breaks, or disrupts day-to-day work.

So, when budgets are limited, can you just skip the Rails upgrades? Or wait until the next major release and do all the updates at once?

In general, no. Skipping your Rails upgrades creates a serious security risk. The longer you wait, the more likely something will go seriously wrong.

Upgrading to the latest Rails version is also a strategic move to remain competitive, protect platform stability, and enable quicker releases of new features. Skipping them becomes a form of taking on technical debt.

[Now, there is nuance to this, of course: There might be times where it’s necessary to defer the upgrade. For example, if limited budgets force you to choose between a minor Rails upgrade or a key feature that unlocks time-limited revenue potential, it might make business sense to defer your Rails upgrade. Teams that routinely choose to defer or skip maintenance, though, tend to delay other things that are quality-related – increasing the risk of attrition of the engineers who care most about quality (aka your best engineers]

Test Double has more than a decade of experience in leading Rails upgrades – including for some of the largest Rails codebases in the world, like GitHub, Gusto, and ZenDesk. We’ll break down in more detail why it’s so important to upgrade to the latest Rails version.

The latest Rails version is required for bugs and security patches

Bug fixes and security patches are only included in the most recent version of Rails. If you face bugs and security issues on an older version, you’re on your own, according to the Ruby on Rails maintenance policy.

Remember when Equifax was hacked in 2017? It was one of the largest data breaches in American history, exposing the personal data of 147 million people. The breach was announced 6 months after Apache Struts released an update with security patches. Equifax had ignored the update. The breach ended up costing the company $425 million.

That’s an extreme example – but it serves as an important lesson for all of us: Just like insurance, upgrades are an important investment to protect you if things go wrong.

Unfortunately, failed security audits would leave you with few remediation options, which will cost you more time and money than it costs to maintain your updates in real-time.

Rails upgrades are key to compatibility and feature development

Another key business reason to keep current with the latest Rails versions: It’s important to both maintain your current compatibility and enable your future feature development.

When you stay on an older version, though, the rest of the development world moves on without you:

  • Ruby, Elixir, and JavaScript are all powered by volunteer contributors. They dedicate their free time to create something new for all of us. They’re not getting paid for it, so they’re not necessarily devoting time to thinking about how new changes might break something that’s two years old.
  • Rails depends on external gems – but as the gems are upgraded, backward incompatibilities arise.
  • Gems start requiring new versions, blocking critical updates. Platform as a Service (PaaS) providers sunset your version and block new deployments.

Eventually, your team will want to add a new feature or try a new gem – and it won’t work. You’ll be weighed down by the outdated version you’re running.

(We see this kind of error all the time with new clients who haven’t made the updates: “Bundle install stopped working months ago. Nobody can clone fresh and build the app anymore.”)

Rails upgrades = more productivity and talent retention

Another insight that is worth discussion: Attracting top developer talent is already difficult. Attracting developers to an outdated stack is even harder, because they don’t want to be stuck programming in the 2010s.

Upgrading to the latest Rails version also unlocks a boost in developer productivity and efficiency. It’s an investment that optimizes your teams’ skills and positions them to take advantage of the latest technology.

‍

The longer you put off your Rails upgrades, the harder it is to catch up

So, what if you just update every other version or once a year? That attempt at pragmatism is more fraught than it might at first appear.

Companies fall behind for one reason or another, then decide to catch up all at once. But here’s the kicker: The older your Rails version, the longer and more Herculean the effort to catch up.

If you’re multiple Rails versions behind, we do not recommend upgrading directly to the current version all in one big go. Instead, we highly recommend an incremental approach, breaking the upgrade into manageable chunks. (Consultant Ali Ibrahim goes in-depth on this in his RailsConf talk about Zero downtime Rails upgrades.)

It’s not just about avoiding the hassle of dealing with ancient bugs. It’s about staying relevant and agile – kind of like exercise. It’s really hard to find the time and motivation to get started, but it gets easier the more you practice. And, in both cases, it’s a necessary habit for your health.

We can take the Rails upgrades off your plate

Rails upgrades can be complicated – but our team of consultants has deep experience in efficient and seamless upgrades, so your team can continue delivering critical features and shipping new products.

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

Contact us now for a free consultation on what approach to Rails upgrades makes sense for your team.

Upgrade Rails without the headache

We’ve worked on the biggest Rails codebases out there—GitHub, Gusto, Zendesk—so you get an upgrade that’s smooth, secure, and ready to scale.

Let’s make it easy

Related Insights

🔗
Why it’s worth outsourcing your Rails upgrades
🔗
Zero downtime Rails upgrades
🔗
Dual booting a Rails upgrade with Docker and CI

Explore our insights

See all insights
Developers
Developers
Developers
You’re holding it wrong! The double loop model for agentic coding

Joé Dupuis has noticed an influx of videos and blog posts about the "correct" way of working with AI agents. Joé thinks most of it is bad advice, and has a better approach he wants to show you.

by
Joé Dupuis
Leadership
Leadership
Leadership
Don't play it safe: Improve your continuous discovery process to reduce risk

We often front-load discovery to feel confident before building—but that’s not real agility. This post explores how continuous learning reduces risk better than perfect plans ever could.

by
Doc Norton
Leadership
Leadership
Leadership
How an early-stage startup engineering team improved the bottom line fast

A fast-growing startup was burning cash faster than it could scale. Here’s how smart engineering decisions helped them improve the bottom line.

by
Jonathon Baugh
Letter art spelling out NEAT

Join the conversation

Technology is a means to an end: answers to very human questions. That’s why we created a community for developers and product managers.

Explore the community
Test Double Executive Leadership Team

Learn about our team

Like what we have to say about building great software and great teams?

Get to know us
Test Double company logo
Improving the way the world builds software.
What we do
Services OverviewSoftware DeliveryProduct ManagementLegacy ModernizationDevOpsUpgrade RailsTechnical RecruitmentTechnical Assessments
Who WE ARE
About UsCulture & CareersGreat CausesEDIOur TeamContact UsNews & AwardsN.E.A.T.
Resources
Case StudiesAll InsightsLeadership InsightsDeveloper InsightsProduct InsightsPairing & Office Hours
NEWSLETTER
Sign up hear about our latest innovations.
Your email has been added!
Oops! Something went wrong while submitting the form.
Standard Ruby badge
614.349.4279hello@testdouble.com
Privacy Policy
© 2020 Test Double. All Rights Reserved.

Upgrade Rails without the headache

We’ve worked on the biggest Rails codebases out there—GitHub, Gusto, Zendesk—so you get an upgrade that’s smooth, secure, and ready to scale.

Let’s make it easy