Feature Management Resources

Use Cases & Best Practices

It is important to follow best practices when using feature management to ensure maximum success. For developers and product managers, feature flags will help improve your processes for the best user experience and greatest overall business impact.

Use Cases for Developers

At a high level, feature flags accelerate development by powering the following use cases:

Trunk / Mainline Development

All development happens on a single shared branch (trunk, master, head etc.) with feature branches being created only for pull requests. Trunk development helps teams identify problems early and hence, move faster. Feature flags are a requirement for trunk development.

Continuous Delivery

Continuous Delivery is the concept that every push to master is built and deployed to production. This can only happen if unfinished features are behind flags that are turned off by default, otherwise continuous delivery can turn into continuous failure.

Testing in Production

New feature releases are preceded by functional QA and performance testing. This testing requires the creation of a UAT or staging environment with a sample of production data. This sampling and copying of production data is problematic: first it’s a red flag for data privacy and security conscious teams. Second, these staging environments are not a faithful replica of production infrastructure, so any performance evaluations have to be taken with a grain of salt

Kill a Feature

By having a feature behind a flag, it can not only be rolled out to subsets of customers, it can also be removed from all customers if it is causing problems to customer experience. This idea of ‘killing’ a feature is better than having to do an emergency fix or a code rollback.

Use Cases for Product Managers

Experimentation

By creating a subset of customers that are exposed to a feature and a subset that is not, feature flags become the basis of full-stack experimentation. The impact of, say, a new recommendation system, can be measured on customer experience metrics: latency, error rates, conversions, engagement, growth, subscription rates, and revenue. The outcome of any idea can thus be measured.

Paywalls

Feature flags can be used to permanently tie features to subscription types. For instance, a feature could be available to every customer as part of a 30 day free trial, but is gated afterwards by the customer buying a premium subscription.

Get Started
Things to know before you get started

Best Practices

Multi-level flags or staged rollouts

Organizations should make sure that their feature flags are properly configured and secure. This means setting up multi-level flags or staged rollouts as needed, enabling only certain users or environments to see the feature. Then implementing adequate security measures to prevent accidental exposure of sensitive data.

minimal system impact

Organizations should aim for minimal system impact when deploying feature flags. This can be achieved by carefully designing the flag configuration so that it does not excessively burden the system with processing time or memory use. Additionally, organizations should also monitor performance closely and make sure everything works as expected before rolling out a feature more broadly.

Backup Plan

Organizations should have a plan in place for reverting changes if something goes wrong during the testing phase or if they need to revert back any changes quickly. Feature flags provide the flexibility of being able to revert any changes without waiting for an entire release cycle. However, this requires proper planning ahead of time and having a system in place for efficiently monitoring performance and tracking progress towards goals.

Feature flag management makes it easier and more efficient for teams to work on a shared codebase without interfering with each other.

Vladyslav Korenkov, Lead Frontend, Quin

Join The Industry Standard

Top enterprises use feature flag management to effortlessly conduct feature experiments like A/B tests without slowing down. Reimagine the software development process to release new features up to 50x faster! 

Get Started