"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”
Jason Crow
Lead Principal Architect at Total Wine & More
Total Wine & More used Unleash's flexibility to adopt an experimental release culture while meeting critical needs for both security and control.
Improve ability to roll out and rollback features to targeted segments.
Test more in production while cutting down on big issues and incidents.
Use Unleash's simple, flexible design and hosting solutions to meet the exact needs of your company.
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.”
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.”
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.”
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.