Upserve transforms product development and streamlines release processes
Before
Big-bang feature rollouts
After
Controlled, gradual rollouts
About Upserve
For over 7,000 restaurants nationwide, Upserve (formerly Swipely) is an essential part of running a smooth operation. Managing 11 million meals per month and relationships with 16 million active diners, Upserve is "the magic ingredient" for a growing number of restaurateurs. The smart management assistant that puts everything restaurateurs need to know in one place, Upserve provides real-time guidance that empowers local restaurants to unlock their full potential.
Challenge
Before using feature flags, Upserve had a system they used for previewing new features using hidden pages they called dark urls. This worked for basic previews for entirely new features, but otherwise had downsides. This technique did not work well to sandbox back-end changes, or when making minor modifications to existing features. Rollouts were always a big bang where a feature was turned on for everyone. And so, when widespread changes needed to be made, using dark urls was simply not feasible. Also, Upserve has remote integration agents at thousands of restaurants and bars. Though they had an existing mechanism to partial deploy to these agents, it was not instantaneous and required time to build/deploy.
Solution
Upserve needed a solution that would give them more control in the release process. They wanted a solution that would allow them to safely rollout features instantly. Furthermore, they wanted a system that would not require significant Engineering time or resources.
It has helped us be significantly more confident and have fewer discussions about the impact of potentially risky code going out. There's less of a debate about rollout, and we're able to try things out a lot more quickly. We can roll out to a certain percentage of our users, see the impact, and then slowly roll out further.
Josh Chu
Director of Engineering, Upserve
Results
With LaunchDarkly in their stack, Upserve can quickly make changes to feature visibility with zero code changes. The Engineering team is using feature flags more freely when they build new features, and have found value in using feature flags to shield themselves from operational risks. In one use case, Upserve is using LaunchDarkly for their back-end integration agents that sit on restaurants' internal computers. These agents are responsible for pulling guest check data that Upserve analyzes. Using feature flags, they are now selectively pulling data from specific locations rather than all at a given time. This has helped the organization reduce server load and perform diagnostics as needed much more efficiently.
The Product team is also using LaunchDarkly to facilitate feature rollouts with "two click ease". Not only does this free Engineering time and resources, it also has changed how the organization thinks about rollouts and made a big impact on Upserve's time to market. In a recent rebranding effort, Upserve was able to coordinate assets across platforms–mobile app, email, and website among others–simply and cleanly using LaunchDarkly. LaunchDarkly has influenced strategic thinking around features across the organization as a whole. The development team must consider what will be released behind a feature flag, and how much of the feature can be hidden. Ultimately this encourages a disciplined approach for the MVP and user adoption before development even begins.