Even great developer teams sometimes have bugs forced into code when libraries, frameworks, or infrastructure are updated. Teams with mission-critical software products can’t afford these bugs to make it to production, so managing these updates and staying on-call for finding and fixing regressions can become a full-time job. Forrest Blount, CTO of Bridge US, decided it was time for a change.
Forrest founded Bridge US in 2011 with the mission to make immigration effortless for both immigrants and the businesses hiring them to make an impact. Bridge is a platform that combines proprietary workflow technology with world-class legal expertise to simplify the immigration process. Over the past 8 years, Bridge’s customer base has exploded, along with their needs, Bridge’s offerings, and the inherent complexity of their codebase.
Speed and Quality Within Massive Complexity
Forrest approached ProdPerfect with a big challenge to work on together: “We have an incredibly complex product with over 50 customizable workflows that take months to complete and need to be updated quickly when the government updates the process. Trying to catch bugs across an application like this is nearly impossible with conventional testing approaches. I want to get higher leverage and focus on moving the product forward faster.”
Forrest’s team’s biggest headache was around platform upgrades. “We write high quality code, but when you upgrade, so much changes under the hood that anything can break, both after the update and later as you change code that worked fine before.” Due to the complexity of Bridge’s application, Forrest knew he needed very clear data around his customers’ usage to make testing highly effective and cover critical use cases without the testing suite becoming a product of its own. “Immigration applications take so long and the process changes so rapidly that a workflow will change before it’s completed by our customers. You can’t get away with coming up with test cases in a conference room.”
Forrest is leveraging ProdPerfect’s test case autodetection to make sure his testing suite matches the complexity of user behavior, and evolves to keep up with the ever-changing immigration process. He’s running the testing suite with every build, catching more bugs and allowing his team to move faster with more focus on product and less on worrying about the risks of updating infrastructure and frameworks.
“Before ProdPerfect, we’d update a [Ruby] Gem or a library and we’d need to be on-call for 24 hours because bugs may have made it into production. Just recently we migrated to Rails 5 and ProdPerfect caught a bug in autosave that would have been really painful. Now I’m confident enough that I just updated 75 Gems at once, which was unimaginable before. We’ve also been able to decrease the number of incidents we receive while on-call, which the team is obviously pretty happy about… we’re definitely able to move faster and focus more on the product, and that means a lot to this team.”