H&R Block decouples product releases from deployments with feature flags
Filing taxes can send many of us scrambling. For H&R Block, being on the backend of that experience makes for an incredibly busy tax season.
In our webinar, we learned how the H&R Block product team uses feature flags to improve operational efficiency and remain compliant with government regulations.
Not only does H&R Block face a time crunch during tax season, but because the company operates in the financial services industry, its tax-filing SaaS application is subject to stringent government regulations. To ensure compliance, H&R Block initially released a new version of its application each time support was added for a government service. The process was slow going, with valuable time spent on multiple releases. But once the product team implemented Optimizely Full Stack for feature flags, they were able to cut superfluous releases by 25 percent and saved 40+ hours by decoupling deployment from release.
Before: Turning functionality on and off at the database = multiple releases
Prior to implementing feature flags, the H&R Block product team used database variables to turn support on and off for 20+ government services. To make matters more complicated, each government service had to be enabled at different times, but the product team tried to avoid releases during the peak of tax season. Deployment took five days because of extensive regression testing to confirm the application’s tax calculations were correct.
The product team also wanted to improve the customer experience around government services outages. Instead of being unable to file taxes because a service was down, the team wanted to notify customers within the application.
After: Decoupling deploys via feature flags = 25% reduction in releases
Using feature flags through Optimizely Full Stack, the H&R Block product team was able to disable and enable support for government services on mandated dates, without relying on engineering on launch day. By reducing the number of releases, H&R Block eliminated the risk of releasing on high-volume days and disrupting clients during the three months of tax season. Reinventing their process with feature flags allowed the product team to release application updates well before tax season, providing enough time to correct any critical bugs before they affected clients. Overall, the team was able to respond quickly when services went down and could proactively inform customers by enabling messaging in the application.
Gradually rolling out new products and experimenting
Feature flags accommodate a range of use cases—from H&R Block’s decoupling releases and deployments to our test-driving features of a new product with beta users. As part of this webinar, Optimizely Product Manager Mei Luo explained how we used feature flags while developing Performance Edge to experiment with new features before they were released to general availability.
Working with internal testers, we were able to further refine our functionality, while also disabling the work in progress parts of the product from our users.
Using feature flags and feature variables, we were able to experiment and evaluate the best way for customers to load an asynchronous tracking snippet via Performance Edge. We tested different ways of loading the snippet with real data in production, where each approach was connected to a feature flag/variable. After analyzing the data, we realized two modes of tracking resulted in a significant reduction in the event capture rate for customers, and we were able to investigate further and resolve the issue before rolling out the new functionality.