blog post banner image

Feature Flagging 101: Basic Use Cases for Feature Flags

Madison Maher

7/16/2023

What can you actually do with feature flags?

Now that we’ve covered what feature flags are, and compared what releasing features with and without feature flags looks like, it’s time to talk about what you can actually do with them. (Beyond toggling your features on and off, of course.)

So, we’re going to share some basic, practical, bare-bones feature flagging use cases that we think any dev team could benefit from.

Feature flagging use cases:

Gradual Rollout of Features

With feature flags, developers can release new features gradually to small groups of users, allowing them to test the feature with a controlled set of users and identify any issues or bugs before releasing it to a wider audience. On day 1, you can release the feature to 10% of users, 20% on day 2, and so on, until you reach 100% of your user base. It's like giving the feature a test run before going all-in. 

A company might use feature flags to gradually roll out a new search algorithm to small groups of users to test the feature's effectiveness, performance impact to the overall system, and identify any issues or bugs before releasing it to everyone.

A/B Testing

Feature flags can be used to test two (or more!) different versions of a feature with different groups of users. This helps developers figure out which version of the feature performs better and allows them to make adjustments based on the results.

An e-commerce company might use feature flags to A/B test two different versions of a checkout process with different groups of users to determine which version performs better and iterate as needed.

Canary Releases

Feature flags can be used for canary releases, which involve releasing a new version of a feature to a small group of users to test its performance in the real world. If the feature performs well, it can be gradually rolled out to a wider audience.

A social media company might use feature flags in a canary release to preview and test a new UI among a portion of their users before releasing it to everyone. 

Blue/Green Deployments

Feature flags can be used for blue/green deployments, which involve releasing a new version of an application or system alongside the current version. In blue/green deployments, feature flags can be used to gradually switch traffic from the current version to the new version, allowing developers to test the new version in a controlled environment before releasing it to everyone.

A dev team building out a new pricing page might use feature flags to release the new page alongside the existing version of their website, and gradually direct traffic to the new version. They can test the new page to ensure it’s working properly before all of their users receive it. 

Dark Launching

Feature flags can be used for dark launching, which involves releasing a new feature to a small group of users without actually making it visible to them. This allows developers to test the feature in the real world without affecting the user experience.

A gaming company might use feature flags to release a new multiplayer game mode to a small subset of their users without making it visible to them. The feature can be turned on through a feature flag, but only for the selected group of players. If any issues are found, the feature flag can be turned off until all issues are resolved.

User Preferences

Feature flags can be used to enable or disable specific features based on user preferences. For example, if a user prefers a specific theme or language, a feature flag can be used to activate the preferred setting.

A streaming service might use feature flags to enable subtitles for users who prefer to watch with captions.

Device Types

Feature flags can also be used to enable or disable specific features based on device types. For example, if a feature is not compatible with a certain type of device, a feature flag can be used to disable the feature on that device.

An iOS developer might use feature flags to disable a new feature on older devices or operating systems (iOS 14 and older, for example) that are not compatible with those features. This ensures everyone receives an optimal user experience on their respective devices. 

Testing in Production (TIP)

You can wrap a feature in a flag and deploy it to production without making it visible to all users. Once the flag is in production, you can give test engineers or software engineers access to run tests before releasing to end users. 

A company can use feature flags to test a feature in a real-world production environment with actual user data and usage patterns, ensuring that the feature performs as expected and meets the user's needs without causing performance issues or downtime.

Performance and Optimal Up Time

Feature flags can be used to improve performance by controlling the activation or deactivation of specific features based on system resources or load. For example, if a feature is causing performance issues, a feature flag can be used to deactivate the feature temporarily.

An online retailer might use feature flags to deactivate specific features temporarily that are causing performance issues on their website during high traffic times, such as a flash sale or holiday shopping period.

Security

If a feature is causing a security vulnerability, a feature flag can be used to disable the feature until the issue is resolved.

A healthcare company who is releasing a new feature involving sensitive patient information can first release the feature to a small group of trusted beta testers, who can test the feature for any potential security vulnerabilities. They can then gradually roll it out to a wider audience to ensure patient privacy is protected. Should a security issue arise, they can quickly turn the feature off until the issues are resolved.

User Personalization

Feature flags can be used to provide a personalized user experience by enabling or disabling specific features based on user profiles or behavior. 

A travel booking platform might use feature flags to provide a personalized user experience by enabling specific features for users who have shown an interest in certain destinations or types of travel experiences.

There’s lots you can do.

Feature flags open a lot of doors for your dev team to release features quickly without compromising quality. Whether you need to test your features on smaller subsets of users before releasing to everyone, deliver more personalized user experiences, or see which variation of a feature performs best, feature flags are your go-to. 

And these are just the basics.

Next up, we’re diving into specific feature flagging use cases – the really cool stuff we’ve seen our own users and other companies use feature flags for. If there’s one thing our users have taught us, it’s that the possibilities are endless with feature flags. Create a free account today and see for yourself.

Written By

Madison Maher