Feature flags
Also known as Feature toggles, Release toggles
Definition
A feature flag is a runtime control that changes whether a code path is available without requiring a new deployment. Flags can support gradual rollout, experiments, emergency disablement, and safer integration of incomplete work.
Deployment and release are different
Deploying code puts it in an environment. Releasing a feature exposes behavior to users. A flag lets those events happen separately. A team can deploy a dark code path, enable it for internal users, expand exposure gradually, and disable it quickly if an error appears.
Choose the flag type
Short-lived release flags reduce integration risk. Experiment flags support measured comparisons. Operational flags provide a control for a risky dependency. Permission flags express durable access rules. Each type needs an owner, a removal date when appropriate, and a test plan.
Avoid flag debt
An old flag creates branches in behavior and makes tests harder to interpret. Record who owns it and what event retires it. Weave can connect the deployment, pull request, and rework signals around a flag so cleanup is visible in the delivery record.
How this relates to Weave
Weave helps teams compare delivery and quality signals around flagged releases. That context supports decisions about rollout safety and shows when a flag changed the work pattern or created follow-up rework.
Explore Engineering intelligence