> A **feature toggle** in [software development](https://en.wikipedia.org/wiki/Software_development "Software development") provides an alternative to maintaining multiple [feature branches](https://en.wikipedia.org/wiki/Branching_(version_control) "Branching (version control)") in [source code](https://en.wikipedia.org/wiki/Source_code "Source code"). A condition within the code enables or disables a [feature](https://en.wikipedia.org/wiki/Software_feature "Software feature") during [runtime](https://en.wikipedia.org/wiki/Runtime_(program_lifecycle_phase) "Runtime (program lifecycle phase)"). 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](https://en.wikipedia.org/wiki/Software_release_life_cycle "Software release life cycle") often. Advanced roll out strategies such as canary roll out and [A/B testing](https://en.wikipedia.org/wiki/A/B_testing "A/B testing") are easier to handle. > A feature toggle is also called **feature switch**, **feature flag**, **feature gate**, **feature flipper**, **conditional feature**. Feature toggles are particularly useful for enabling regular merges to mainline in [[Continuous Integration]] workflows. --- ## References - https://en.wikipedia.org/wiki/Feature_toggle