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.
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.
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.
RELATED TERMS
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
- Wikipedia - Feature toggle
- Martin Fowler - Seminal essay on toggles
- LaunchDarkly - Platform docs on feature flags
- Split - Vendor blog defining flags
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
How are Feature Flags related to A/B testing?
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