Daily Releases Depend on a Culture of Quality and Innovation
Learn how Expensify gets daily releases right
It’s not enough to release software quickly or with high quality — most companies aim to do both, simultaneously. Many consider a daily release cadence an advanced accomplishment for mature organizations. Reaching this milestone doesn’t just happen with the flip of a switch. Daily software releases require buy-in from team members and a culture that supports that change.
Our latest webinar examined how Expensify teams up with Applause to deliver high-quality releases, every day. For Expensify, Applause feels like an extension of its own engineering department.
“Applause feels just like they're part of our team,” said Tim Golen, Director, Engineering at Expensify. “The testers that we have and the test leads, we talk to them in Slack, just like we talk to each other in Slack. We have a shared workspace there, and we're in constant communication, which is really great. It helps us to troubleshoot things quickly, get to the bottom of things, resolve any issues that come up.”
It starts with cultural alignment. Golen discussed what makes Expensify’s engineering structure unique. The company uses an engineering pool of roughly 40 full-stack engineers — Golen himself spends about half his time building products and features as well — which enables the organization to address the “most valuable thing” in the backlog.
“We have a flat organization, so there's no hierarchy,” Golen said. “No one has any managers. No one can tell anyone what they should be working on. We leave it up to each of our individual engineers to go out and find the work that they want to do.”
Expensify aims, simply, to “get stuff done,” even if it means bucking a trend, as it does with its massive SQLite production database and removing face-to-face meetings.
When a build is ready for testing, that’s where Applause comes in. Applause offers a slate of solutions that span the software development lifecycle, fitting into any company’s workflow where and when needed.
Applause conducts regression and pull request testing on Expensify builds, then exports all issues to GitHub for triage. Expensify then deals with deploy blockers — anything that should stop the release from going out. In these cases, Expensify relies on Applause to make the call to halt the deployment.
“We see ourselves, and I think that Expensify sees us, as their testing arm, where their [developers] are in charge of developing,” said Shai Simchi, Solution Delivery Manager at Applause. “At the end of the day, once all those features or bugs or functionality, once it's all ready for testing, we are the ones that provide the feedback. When [Applause finds] deploy blockers, we can block deployments. And that goes to show the level of trust between the organizations, and how we help Expensify deliver higher quality products.”
From there, Applause verifies bug fixes, and Expensify releases the change to production.
Expensify became an Applause customer in 2019 and has since placed more trust in Applause. Scaling to meet Expensify’s needs, Applause now provides mobile testing on more than 200 real user devices. This approach helped Expensify ensure that features like receipt scanning worked as intended in all locations. Through functional testing, Applause catches a variety of bugs on these devices, which Expensify then quickly addresses before release.
By turning to Applause for QA, Expensify can focus on what it does best: innovation. Daily releases are just the start of that effort, and Applause is proud to help Expensify achieve digital excellence.