In a modern software development environment that uses Continuous Integration (CI) to deploy code along a Continuous Delivery (CD) pipeline, having a robust feature flag management solution can bring a wide variety of benefits to an organization.
1. Continuous Delivery
Continuous delivery means that code can be built and released on an ongoing basis, and that all changes take place within a feature flagging solution that prevents the work of the software development team from impacting the rest of the codebase.
2. Dark Launching
By using feature flags, any new or untested features in the code are toggled off by default, and won’t even be seen by users until toggled on.
3. Trunk Based Development
Under a continuous integration regime, all new code is merged directly into the main trunk, and every push to master is accompanied by an immediate and rapid (within minutes) build and test procedure.
4. No Delays Under Any SDK
Since every change is implemented under a deactivated feature flag, and every commit triggers the automated build and test operations, teams will be made aware right away of any problems new code might create, and they can address the problems in a fast and efficient manner. The system is designed to build using any SDK that the team requires, and indeed can work under multiple environments simultaneously for multi-platform builds.
5. Safe and Selective Release Targeting
With feature flagging, new features can be targeted to users based on any number of criteria: internal or external testers, users signed up for canary releases, or simply a subset that you know a new feature will have a more measurable or controllable impact on for customer analysis.
6. Split testing on an AB testing platform
When new features are being tested for release, a necessary part of that testing is using an AB testing platform that is a duplicate of the production environment for usability testing. New features can be tested in a live environment without duplication of sensitive data.
Feature flags can even be used to experiment with new features in production.
7. Fast Response Times
Sometimes the unexpected happens, but with a feature flag management system in place, authorized members of your team will be able to selectively disable or re-enable any feature flag for groups of users, or disable the feature entirely.
8. Deliver Custom Features
One of the benefits of granular targeting is the ability to control who can see or use a given feature based on user privileges. Temporary or permanent access to certain features can be controlled using feature flags.
9. Release How You Want, When You Want
With feature flags, the release of a new feature can be targeted to roll out to different groups of users at different times, in order to test how those groups respond based on criteria such as location or user type.
10. Securely Disable Old Features
As old features are replaced by new ones, or cease to be useful any more, features can be targeted for disabling in just as detailed a way as they were rolled out.
11. Live Usability Testing
Having a modern, well-evolved feature flag management system means having a well-evolved interface to manage those flags. Results can be monitored in real time or collected for customer analysis in order to make more informed decisions about the impact a feature is having.
12. Split Testing for Any Metric
Among the myriad of metrics that can be tracked are engineering KPI’s such as page load time, database response time, and support ticket count related to a given feature. Whatever aspect of a given feature your team may wish to analyze, data can be aggregated in a highly specific way.
Having a well-managed feature flag system can help your company accelerate time to value, mitigate risk, and make smarter decisions. Try Split for free to get started with feature flags and read more about how feature flags work.