It was a pleasure to kick off Day 2 of Rust Nation as a speaker alongside some of the Rust community's best experts, contributors, and educators from...
Why we love Split
Organisations need to have the ability to move quickly whilst continually building confidence in their proposition.
All companies are digital product companies, whether they know it or not, and need to behave as such in order to keep up with the competition. Organisations need to have the ability to move quickly whilst continually building confidence in their proposition. Every feature released should meet the needs of users and, at the same time, shift the needle towards meeting business objectives.
Establishing a practice of high-frequency, continuous delivery to enable this level of agility is now almost a requirement for business success. Using the right technology, tools and processes is key to enabling this way of working and there is one technique in particular that is transformative and unlocks a whole suite of new capabilities.
Feature flagsFeature flags (also called feature toggles) are a set of techniques used by software development teams to separate the process of developing, testing and releasing new features from the underlying code changes.
Tools such as Split.io allow digital product teams to deploy code to production 100s of times a day. By encapsulating code changes behind a flag, teams can work on new features in isolation, without affecting the rest of the codebase. This allows them to deploy small changes regularly, building up to a feature, and only releasing it when the feature is ready, rather than building the feature in isolation and deploying it all at once with bated breath.
Feature flags have a number of benefits for digital product development teams. They:
- Create a safety mechanism for deploying at pace and reduce the risk of errors and downtime associated with traditional deployments
- Allow for the separation of deployments and releases, and remove technical constraints from the decision to release
- Enable the testing of new features in production with real-world data and (a small group of) real customers
- React quickly to problematic releases - turning off flags can be fully automated should a problem arise
- Control the release of new features to users using different roll-out models
- Speed up innovation and better quality products through more frequent feedback cycles
- Test and learn about the impact of every new feature through various experimentation techniques
At Red Badger, we have employed feature flags with great success helping our clients across many sectors to deliver at pace, delighting their users and achieving their business goals.
Pago FX by Santander
At PagoFX we used a custom-built solution for feature flags. This is a tempting approach, especially in a regulated environment where the focus on due diligence is high and onboarding third parties is an onerous process (and for good reasons). Feature flags allowed us to push a new version of the app to TestFlight and Google Play store as often as daily, no matter what feature work was ongoing. Feature state could be managed remotely, which is very important for mobile apps where users cannot be forced to update to the latest version of the app. We also relied on them for QA where a companion app installed on the same device could override the state of features in the main app temporarily.
For Nando’s, we took the lessons learned at PagoFX to heart and recommended going with an existing feature flagging service, rather than rolling our own. Feature flags were a fundamental enabler in building the online ordering journeys for both web and mobile customers. We reviewed a number of existing solutions and recommended using Split, because it provided the most mature feature set, used the most sensible architecture and was the best value for money.
Split allowed us to run A/B tests for different approaches to new functionality, or across existing and new journeys, and supported the rapid pace of development with several features in the works at the same time. It also enabled a flexible release strategy, targeting new journeys and features to specific customers, restaurants, channels (delivery, collection or eat-in) or a combination of all three to make sure the new customer journeys worked reliably and performed better than their predecessors. Features could also be targeted to different locales and regions to test whether they are well-suited for particular market characteristics.
Without feature flags and the ability to target them, the Nando’s digital transformation journey would have been a lot slower and riskier.
Fortnum & Mason
Our setup at Fortnum & Mason allowed us to release up to 10 times per day, testing new features in production with staff and beta testers before gradually rolling out new customer-facing functionality even throughout peak - when retailers traditionally initiate a code freeze to protect against losing online revenue during the busiest time of the year.
Feature flags also enabled us to mitigate risk when re-architecting and replacing the site’s search capability. We were able to build and ship incrementally and test in production with real workloads to see how the new search solution performed. We ran both solutions in parallel before gradually rolling out to customers whilst monitoring the difference in performance. Once we were confident with the new implementation, we were able to remove old code and decommissioned the legacy services without any downtime or production issues.
Why we love Split
Split offers a service that will reduce development cycle times whilst mitigating release risk and enabling an impact-driven culture through experimentation. Split is super simple to integrate into your existing applications and services by using their in-house developed SDKs and it’s built for speed, privacy, and resiliency. It’s built on a global feature flag and data processing architecture that serves 50 billion daily feature flags to over 2 billion end users around the globe.
What if every released feature could be run as an experiment so you get a true, data-driven understanding of the impact you’re making on your users’ experience and how it contributes towards your business goals? Split gives you the opportunity to do exactly this by running your new feature against a control group, A/B test, or as a multi-variant test giving you real-time insight.
Being able to evaluate every feature in this way will transform your team's culture to one of experimentation and will help to keep the focus on using data to make decisions as well as understanding your impact and return on investment.
Customer data & privacy
When looking to segment feature flags for experimentation or to enable a toggle for a subset of users, Split can do this without knowing or retaining any personally identifiable information (PII). To ensure the right user gets the right flag status consistently, you provide Spilt with a non-PII key such as an encrypted/hashed unique ID or a cookie ID. These are then stored for 90 days for accounting and experimentation capability purposes and are encrypted using industry best practices.
Red Badger | Split Partnership
We are delighted to formalise our partnership with Split, the best-in-class feature delivery platform and a company that we have admired for a number of years. This partnership is born of a mutual desire to solve big, complex, business critical problems for blue-chips and we are already working together to deliver impressive results for our clients. As we continue to expand our joint client base, we are excited about what the future has in store.