Feature Flags Overview

Updated 5 months ago by Archana Singh

Harness Feature Flags (FF) is a feature management solution that lets you change your software's functionality without deploying new code. FF uses feature flags to hide code or behavior without having to ship new versions of the software. A feature flag is like a powerful if statement.

if(HarnessFeatureFlag["newamazingfeature"] == true) {

A feature flag is a decision point in your code that can change the behavior of your software. It decouples the deployment from release and helps to plan the following strategies:

  • How a new change should roll out to the customers?
  • How to release a feature?
  • Who will be getting this feature first?
  • Who will beta test the changes?
  • Will there be a progressive rollout of the feature?
  • Do I need to hit a particular date for an external event?

Visual Summary

The following video provides a general overview of how Harness Feature Flags work:

Blog Post

The following blog posts introduce you to Harness Feature Flags:

Why Feature Flag is Important?

Feature flag management provides the following opportunities to the developers:

Ship Only When you're Ready

With the rise of continuous delivery, development teams ship new code to production all the time. However, this fast pace of shipping the code brings new kinds of risks.

Feature Flags provide the control to developers to ship the features only when they are ready. The teams can push new codes directly to users in minutes using the feature flags.

Test in Production

Having an opportunity to test with real, live users in the production environment can provide a much more accurate understanding of the system’s behavior. But the question is how to perform testing in the production environment without worrying about roll‐back or redeploy in case of any roadblocks.

The feature flag management platform comes with powerful targeting and custom rules to control access to new features. You can instantly turn off the access to any feature, bringing back the old behavior just by toggling the feature flag.

Percentage Deployments

In a percentage-based rollout, small numbers of users are selected to test the new feature. You can gradually increase or decrease that percentage over time. This method provides the opportunity to observe the behavior of the system under new changes. You can push the changes to all your userbases only when the changes are stable and user feedback is positive.

User Feedback

The ability to release changes to a limited set of users makes it much easier to gather feedback about the product. You can create a beta group of users and target feature flags specifically to that group. Testing new features with a subset of users allows developers to find and address the bugs before the major release.

Next Steps

Please Provide Feedback