Helping a cloud-based payroll and benefits company seamlessly upgrade Ruby on Rails
The Mission
Upgrade without disrupting day-to-day-production
Payroll and health insurance are very complex issues for small businesses. Gusto writes software to offer simple solutions. Test Double came in to boost Gusto's technology stack and help find solutions for small businesses through software.
Gusto needed to upgrade from a legacy version of Rails, but their in-house team was consistently busy. They knew they needed to do it, but couldn't pull their experts away from delivering critical features and shipping new products.
The Fix
Leveraging 15 years of Rails upgrade experience
Since Gusto's product is trusted with running its customers' payroll, it was crucial to have a smooth roll-out and move their system forward without interrupting day-to-day development or operations. They needed additional experts who could take a holistic view to support their team, carefully considering the downstream effects of each change.
Ruby on Rails expertise and codebase renovation is a sweet spot for Test Double. We've built a reputation on 15 years of working in large-scale Rails applications. We set out to uplift Gusto as a whole, augmenting the team to help them solve their technical challenges and clearing tech debt that had accrued over time. We helped modernize their technology stacks and untangled legacy code we encountered along the way.
The Results
Collaboration was key to building great software and great teams
Augmenting Gusto's team with Test Double agents allowed for incremental Rails upgrades that saved time and money. The team fixed 1,700 test failures from the initial upgrade, protected the behavior of the existing code, and rolled it out on time and under budget.
While performing upgrade-related tasks, we identified a few changes that had the potential to impact unexpected areas of Gusto's systems. We collaborated to solve those issues while minimizing disruptions to other teams. We took a deep dive into the code, gained a strong understanding of their business, communicated effectively, and provided solutions that worked within their constraints. We were originally brought in for a temporary productivity boost, but ultimately became crucial players on Gusto's team.
Collaboration was key for investigating specific areas of the codebase. To communicate and integrate across multiple Gusto teams in a distributed organization, the teams synced up via Zoom and Slack. Resourcefulness and drive was critical for making progress in the absence of crystal-clear answers.