Unleash

How Total Wine & More blended security with experimentation, on its own terms

Total Wine Logo

Total Wine & More used Unleash's flexibility to adopt an experimental release culture while meeting critical needs for both security and control.

  • Efficient Feature Rollouts and Rollbacks

    Improve ability to roll out and rollback features to targeted segments.

  • Streamline Feature Management

    Test more in production while cutting down on big issues and incidents.

  • Improve Recovery and A/B Testing

    Use Unleash's simple, flexible design and hosting solutions to meet the exact needs of your company.

Case Study

Challenge

Total Wine & More is a large, family-owned, privately held American alcohol retailer founded and led by brothers David Trone and Robert Trone. The company has 230 stores across 27 states, opening an average of 15 stores each year and carrying more than 8000 wines from around the globe. 

The company’s product uses three react native apps designed to serve tasks like associate functions, order fulfillment, and receiving. It was in these three apps where the development team saw room for improvement.

“We didn’t have the ability to progressively roll out a feature to our stores without releasing a new version of the client,” says Total Wine & More Lead Principal Architect Jason Crow. “In addition, the processes for managing current features on the client were prone to errors.”

The team also needed a way to reverse rollouts quickly.

“When features failed or didn’t live up to their performance objectives, we didn’t have an easy way of turning off those features without a deployment rollback,” says Jason.

Because of a traditional development process, Jason and his team used multiple sprints to develop larger features.

“Our development team had resorted to creating ‘program branches’ that were long-lived and outside of the development lifecycle,” says Jason. “Two major pain points occurred with these branches: conflicts on merge into our main branch, and the inability to safely test and introduce large features with an effective rollback strategy.”

Conflicts and functional breakdown were just some of the problems that arose with diverged branches. 

“In some cases the branches diverge so much they’re never successfully merged in,” Jason shares. “We would rather see branches continuously integrated with our main branch on a regular basis, and allow testing through feature flags to reduce conflicts and defect injection during the final stages of integration.”

Solution

Jason and his team were familiar with feature flags on multiple fronts. Factors like control and security were a priority.

“We use feature flags in a lot of our applications using homegrown methods,” says Jason. “We had investigated a number of third party options.  Only a small subset of solutions allowed the entire system to be run within our own infrastructure.”

An early trial into third-party feature flags didn’t yield much fruit.

“Our team had recently moved forward with a proof of concept with another company, but the security model of using a pure SAAS solution and having our stores communicate over the internet brought security concerns to our Network and Architecture teams,” Jason shares.

Eventually, the team landed on Unleash, which they soon found to be a great fit.

“What appealed to us about Unleash was the central control via the Admin Console, as well as the security posture of running the entire infrastructure under our own architecture and standards,” says Jason. 

After testing out Unleash’s open-source solution, Jason’s team felt that Unleash’s Enterprise offering was an even better fit for their needs.

We found that the features offered with the Enterprise version would further improve our capabilities and security across the organization in a cost-effective solution,” says Jason. “Aspects like SSO, multiple projects in a central console with independently scalable proxies, and project-level customizable environments were very appealing to us.”

Results

Today Total Wine & More uses Unleash throughout its Store App.

“We are currently using Unleash to manage a controlled rollout of features to targeted subsets of stores within our store applications,” says Jason. “We’re able to apply our security best practices to the endpoints and running containers and feel confident in our stores and digital platforms accessing these systems.”

Jason’s team is now able to rollback features without waiting for a major release.

“Store App teams are able to easily toggle features on and off via the Admin console for specific stores in a timely manner,” says Jason. “This has alleviated attempts to use deployment tools to control rollout and brittle error-prone spreadsheet uploads to toggle features. Teams are also able to kill features quickly.”

The team soon will use Unleash to take on their challenges with program branches. 

“We expect Unleash will help us finally eliminate the risk involved with major features and the need for ‘program branches’ as a development strategy,” says Jason. “We want to evolve our continuous deployment strategy to also simplify and eliminate long-lived ‘develop’ branches, and release directly to our main branches under feature toggles.”

The team is also looking into driving A/B testing on their digital platform. Their plan is to streamline the processes for administering robust A/B tests, driven by Unleash to avoid both flash of content and CDN code for implementation.

“This is currently being prototyped,” Jason shares. “The idea is to use variants to set up specific react variants based on the percentage served. At this point each variant would expose tags to Adobe Test and Target to collect data on the test variants and determine test results.”

On the way to exploring different ways to take advantage of Unleash, the team has been able to significantly reduce their time to recovery.

“By using Unleash to manage feature rollout instead, our mean time to recovery has improved significantly when rolling new features and finding issues,” says Jason. “Not only have we been able to kill features, but we’ve also been able to roll out new features faster when hitting a critical failure. While I can’t give an exact number on how much time we’ve saved, Unleash has definitely improved our ability to recover.”

Jason’s advice to companies who are new to feature flags

  • Ensure that your licensing is adequate for the entire team to participate. As teams adopt feature flags, more users will want to participate. As you adopt features such as A/B testing, you’ll find new users on your analytics team that will also want to participate.

 

  • Organize projects in a way that allows you to easily group flags in systems that work together. This way a single flag and proxy can be used, especially in “kill switch” situations.

 

  • Work toward adoption and consolidation across all of your systems that need or currently use other mechanisms to manage dynamic flags. Unleash can give you an opportunity to reduce cognitive load in managing flags by using the same tool across the board.

Deploy at incredible speed

Hosted, or self-hosted: it’s your call. It’s quick and easy to set up. Get started in 2 steps with the functionality you need to improve your software development workflow.