Feature flags allow features to be centrally managed from outside of the application, meaning they can even be turned on and off after they’ve already been rolled out to end users.
Why Use a Feature Flags Framework?
Any new software feature needs to go through rigorous testing before being rolled out as the default user experience. To determine the optimal design, an experimentation period takes place, during which separate test groups are provided with different candidate versions of the planned changes. Each test group’s usage is tracked against predetermined metrics that will be used to identify the best-performing option.
The feature flag framework allows code deployment to occur separately from the live rollout, without any interruption in service. The code for all versions of a new or updated feature can be deployed simultaneously to all users, and the feature toggles can then be enabled or disabled for the version associated with each user test group.
How to Use a Feature Flags Framework
An experimentation platform provides you with the tools to perform a controlled rollout of new features through the use of feature flags. After code deployment into the production environment has been completed, the feature flags can be individually enabled to roll them out to end users. This allows development teams to monitor the impacts of each feature, and turn a feature off if it negatively impacts the customer experience.
Benefits of Feature Flags Framework
The feature flags framework offers many benefits even beyond the pre-release testing of new features. Because they make it possible to deploy code into a live production environment in a controlled state, site maintenance and upgrades can happen without the scheduled downtime they previously entailed. New features can then be rolled out to a larger set of customers, or even globally, when success and safety metrics indicate the feature is ready.
Feature flags make it easy to quickly and smoothly disable individual features, including decommissioning older features that are being phased out. If a major bug or other issue is discovered in a feature, a kill switch can take the feature flag offline while the issue is corrected.
Summary
These are just a few of the reasons the feature flag framework is proven to improve the software development process while minimizing the potential for the risks traditionally associated with deploying features to a live production environment. If you’re interested in learning more about feature flags, Split’s unified solution for feature flagging and experimentation can provide you with access to feature flags and many other features that will help you and your team meet and exceed your engineering and product KPIs.