Graph
Feature Flags

🚦Feature Flags

NEW

Also known as: Feature Toggle

Runtime switches that enable or disable features to control rollouts and experiments.

DESCRIPTION

Feature flags allow teams to ship code safely by decoupling deployment from release. They enable gradual rollouts, dark launches, and rapid rollback without redeploying. Flags support experimentation and A/B testing through targeted user cohorts. They reduce risk, improve release velocity, and help manage operational complexity. Governance, naming conventions, and retirement processes prevent flag debt. Observability and audit trails ensure safe usage in regulated environments. Feature flags can be managed via configuration, code annotations, or dedicated platforms.

ALTERNATIVE DEFINITIONS

Martin Fowler

Feature toggles (also known as feature flags) are a technique that allows teams to modify system behavior without changing code.

Emphasizes decoupling behavior changes from code changes and operational safety.

Source

LaunchDarkly

Feature flags are a software development technique that turns functionality on and off at runtime without deploying new code.

Highlights runtime control and operational flexibility provided by dedicated flag management.

Source

ThoughtWorks Technology Radar

Feature toggles enable teams to switch features on or off in production to control releases and conduct experiments.

Stresses production control and experimentation as a technique recommendation.

Source

Continuous Deployment Progressive Delivery Canary Release A/B Testing Kill Switch Shadow Deployment Rollout Configuration Management Experimentation Platform Blue-Green Deployment Runtime Configuration Experimentation Observability Rollback Circuit Breaker Releasing

COMPETING TERMS

Release Branching Feature Branching

KNOWLEDGE AREAS

Software Engineering Platform & Tooling Testing & Validation Observability & Telemetry

TARGET AUDIENCE

Software Developer DevOps Engineer AI Engineer MLOps Engineer Product Owner AI Product Manager

EXTERNAL SOURCES

TOP QUESTIONS

What are Feature Flags used for?

Feature Flags are used to control feature availability at runtime, enabling safe rollouts, experiments, canary releases, and quick rollback without redeploying code.

Category: Overview

How do Feature Flags reduce release risk?

They decouple deployment from release, allowing gradual exposure to users and instant rollback. This limits blast radius and enables fast mitigation if issues arise.

Category: Risk

What is a common mistake with Feature Flags?

Leaving flags in code indefinitely creates technical debt and confusion. Establish a retirement process and naming conventions to maintain clarity and safety.

Category: Mistakes

Flags enable targeted exposure of variants to cohorts, making A/B testing operationally simpler. They integrate with experimentation platforms to collect metrics.

Category: Example

What governance is needed for Feature Flags?

Maintain ownership, documentation, and audit trails for flags. Limit privileged access, and review flags periodically to retire or consolidate as appropriate.

Category: Management

What is the performance impact of Feature Flags?

Properly implemented flags have minimal overhead. However, excessive or nested flags can complicate code paths, so central configuration and caching help mitigate costs.

Category: Requirements

Are Feature Flags relevant for AI systems?

Yes, they control model versions, safety filters, and prompt policies. Flags enable controlled experiments with new models and guardrails without redeploying services.

Category: Relevancy

What is a competing practice to Feature Flags?

Feature branching manages releases via version control rather than runtime control. It’s useful, but lacks the granular runtime safety that flags provide.

Category: Alternatives

How to start adopting Feature Flags?

Begin with a small number of flags for high-risk features, implement a management service or platform, and add observability, audit logs, and retirement workflows.

Category: Requirements

What is the biggest misunderstanding about Feature Flags?

People assume flags are only for frontend UI; they are equally powerful for backend behavior, model switching, and infrastructure-related toggles.

Category: Misunderstanding