Storebrand’s history goes back more than 250 years. A leading financial player in the Nordic market, it offers pension, savings, insurance and banking products to individuals, businesses, and public enterprises.
Storebrand’s many developer teams had historically operated independently of one other. Their solution for turning feature flags on and off was creating problems for them all.
“The solution we’d developed internally was based on our translation service, which is designed to return fragments of text in the browser-requested language. This was then misused by some of our developers, who saw a way to embed JSON flags as a poor man’s feature flag,” says Engineering Manager Peter Samuel.
“The long-living branches were painful,” adds Frontend Developer Alexander Alemayhu.
On top of this, there was no standardization, so each project was often implemented differently.
“A string might be set to true/false, check-box values or even variables or settings that required a new deployment to enable a feature,” says Full-Stack Developer Henrik Reff Snilsberg.
Many approaches were complex.
“They required developers or at least someone with some technical knowledge to toggle features,” says Henrik.
Testing also presented difficulties with few of the teams adopting frontend A/B testing.
“We weren’t able to test features in production as a specific user,” shares Morton Jansrud, a full-stack developer.
The teams were all familiar with feature flags to a degree, and some had experience with Unleash. After Peter reached out to Unleash, the solution was rolled out at Storebrand Digital – Retail Market.
“Today we use Unleash to enable features across our retail and corporate business. We’re using seven projects to organize our features per team and activation strategies for A/B testing, gradual rollout, specific user IDs, and canary releases,” Peter shares.
There is one proxy for the test environment and one for the production environment.
“We’re using Unleash a lot to test out new features in production before making it available for everyone. We’re often using the same flags across backend and frontend projects to turn on and off features in all applications,” says Henrik
“The unapproved changes are hidden behind feature flags,” adds Alexander.
Some product managers have also been given access to Unleash.
“They can also approve changes in production when they’re happy it’s ready for prime time,” says Peter.
After switching to Unleash and having one standard way of creating feature flags, it’s become a lot easier and faster for Storebrand’s developer teams to work with feature flags.
“Turning a feature on and off in each environment is a breeze now. We’re also able to deploy to production a lot more frequently. If a feature can’t go out in production before testing, we wrap it in a feature flag and still go ahead. When it’s tested, we just enable it and we’re good to go,” says Henrik.
Now it’s a smooth process for less-experienced developers and even non-technical people to be involved.
“Without any prior knowledge of the application or how it works, it is very easy to see the state of each flag and also to quickly turn it on and off. Unleash’s very modern feel, with nice colors, icons, and animations, makes it simple to find the info you need with all the search functionality and filters,” says Henrik.
Storebrand’s teams are regularly testing features with select advisors before production, taking full advantage of the opportunity that unique IDs offer.
“This has been incredibly useful when creating big new features that should not be available for all advisors but still have to be tested in a production environment. For example, when an application for the corporate market was going to be rolled out for the private market advisors, we used the user ID feature to test it gradually,” Henrik shares.
To address the challenge that test data is not as good as production data, the team created an Easter Egg through user IDs.
“We were using Unleash in advisory mode and it worked great with user IDs. Since signatures were not available in production, we ended up using the clicker to enable. Next time, we’ll use an internal customer identifier that makes Personal Identifiable Information (PII) less likely to be exposed and store those in Unleash,” says Alexander.
As a result, the team has embraced a new way of working.
“The documentation has been really good. Our developers have been able to quickly take advantage of the cloud solution as we have all the security and proxy principles in place to move fast. We’ve had really good access to the product development lifecycle too through the Slack channel, account manager follow up, and responses from the developers on how we can either request features or work around our problems,” Peter shares.
“Testers test in production more as we can make sure normal customers are not able to access the feature using the user ID strategy in Unleash,” adds Henrik.
Recently, Storebrand’s developers held a hackathon using feature flags to test out a few scenarios. They created a demo for enabling toggling depending on a customer journey, user group, or segment and are coordinating with the project manager to continue the work.
“We started with a couple of services/widgets and want to expand the system gradually. Such a system is perfect for Unleash, as we can toggle specifically for our users, gradually roll out to a wider audience, test new services for specific Storebrand employees in production before going live, and more,” says Morten.
Peter’s advice to companies new to feature management
- “Make it a point to encourage using feature flags, as not every developer ‘gets it’ until they have a bit of experience using them.”
- “Ensure developers promote feature flags to other team members like testers, product managers, and support staff (we could be better at this).”
- “Read the documentation! Most of the problems we have encountered have already been solved by others.”
- “Use the projects to help separate into logical product areas. This makes team access more granular and easier to maintain.”
- “Use the SSO login for easy signup for the service.”