With 7.3 million private customers and 615,000 corporate customers, Swedbank plays a key role in the European banking world. Swedbank serves these customers with a range of digital experiences such as online banking, mobile banking, mobile payments, insurance, and loan origination. With this size customer base and breadth of product offering, Swedbank has been building a software development foundation that ensures they can deliver the business and customer impact necessary to succeed.
Creating developer happiness with feature flags
Swedbank strives to provide their developers with innovative solutions and tools that improve efficiency and developer experience. Feature flagging is key to delivering value to their customers by allowing their engineering teams to automate their release process, which in turn reduces risk in the release pipeline. By removing this layer of extra processes, developer velocity increases, team confidence increases, and therefore developer experience increases as well. Swedbank is in the process of adopting a fully automated continuous delivery process for their strategic application development platforms. Using feature flags is one of the key elements to get this done.
Feature flags also play a key role between the front end and back end teams at Swedbank. Many times, back end developers push up back end code before the front end is ready, or vice versa. Deploying new functionality with feature flags allows it to be released as soon as the last piece has been deployed.
“The thing that’s great about Split is that you can change the behavior of the product outside of a code deployment.”
Markus Backman, Swedbank Head Architect of Digital Banking
Before implementing their code with feature flags, Markus Backman, Head Architect of Digital Banking, says their culture of change had a lot of room for improvement. Specifically, both the iOS and Android teams found that by using automatic deployments with feature flags, they are able to release more often with less risk. Backend developers release features once a month, while the front end team releases features multiple times per month. Teams feel they can push code more often with less risk, and then safely test it in production with feature flags.
Adopting feature flags across an enterprise
Prior to using Split, Swedbank had their own in-house feature flag management system. Due to the scale of their codebase, and the many teams that were utilizing it, they quickly turned to Split for adoption of feature flags. Now, the 50 front end, back end, mobile, and product teams can easily manage their work. Once the teams tried Split, they felt less stressed about releases.
Supporting remote teams with Split
Like many businesses, Swedbank adapted to COVID-19 by expanding work-from-home practices. Without Split, it would have been much harder for Swedbank to respond to the changes that came with COVID-19. During crises, restricted change periods are the norm at Swedbank, which only allows lower-risk changes to be implemented. Luckily, Swedbank had already implemented feature flags, and had an established process in place that has proved that feature flags reduce risk. If they didn’t have this process in place, they would have had prolonged release cycles which would have made it harder to respond to their customers’ needs during the crises.
Tailoring release processes to better suit users
Some teams at Swedbank are using feature flags in a strict on/off fashion and others are using canary rollouts to allocate a specific percentage of traffic for release. Different customer bases have different requirements and different risk factors for features; therefore, both processes are used. Because the mobile team needs to comply with deploys made through the app store, percentage rollouts are more valuable for them to help manage all of the dependencies. Canary releases, which allow for early testing of a new feature in production, provide extra risk mitigation for financial institutions like Swedbank.