Feature toggle

A technique in software development that attempts to provide an alternative to maintaining multiple source-code branches (known as feature branches), such that a feature can be tested even before it is completed and ready for release

What is Feature toggle?

A feature toggle, also known as a feature flag, is a technique used in software development to enable or disable certain features or functionality of a system based on certain conditions or criteria. Essentially, it's a mechanism that allows developers to turn features on or off without the need for code changes or redeployment of the entire system. This can be useful for testing new features, rolling out changes gradually, or providing different experiences to different users or groups. Feature toggles can be implemented in different ways, such as through configuration files, environment variables, or database settings.
Snippet from Wikipedia: Feature toggle

A feature toggle in software development provides an alternative to maintaining multiple feature branches in source code. A condition within the code enables or disables a feature during runtime. In agile settings the toggle is used in production, to switch on the feature on demand, for some or all the users. Thus, feature toggles do make it easier to release often. Advanced roll out strategies such as canary roll out and A/B testing are easier to handle.

Continuous delivery is supported by feature toggles, even if new releases are not deployed to production continuously. The feature is integrated into the main branch even before it is completed. The version is deployed into a test environment once, the toggle allows to turn the feature on, and test it. Software integration cycles get shorter, and a version ready to go to production can be provided.

The third use of the technique is to allow developers to release a version of a product that has unfinished features. These unfinished features are hidden (toggled) so that they do not appear in the user interface. There is less effort to merge features into and out of the productive branch, and hence allows many small incremental versions of software.

A feature toggle is also called feature switch, feature flag, feature gate, feature flipper, or conditional feature.


  • method/feature_toggle.txt
  • Last modified: 2023/04/10 10:08
  • by Henrik Yllemo