How to Discuss Feature Gates Professionally
Learn the vocabulary and phrases product and engineering teams use when implementing, discussing, and managing feature flags and feature gates.
Feature gates (also called feature flags or feature toggles) are a deployment technique that allows teams to enable or disable features in production without deploying new code. They are fundamental to modern continuous delivery practices and are discussed in engineering meetings, product reviews, and release planning sessions. Knowing how to talk about feature gates clearly in English will help you participate more effectively in these conversations.
Key Vocabulary
Feature flag A feature flag is a conditional in the codebase that determines whether a particular feature is active or not, based on configuration that can be changed at runtime without a deployment. The terms “feature flag,” “feature toggle,” and “feature gate” are often used interchangeably. Example: “We wrapped the new checkout flow in a feature flag so we can roll it out gradually without a full release.”
Rollout A rollout is the process of gradually enabling a feature for an increasing percentage of users or traffic. A gradual rollout allows teams to monitor for issues and limit the blast radius if problems arise. Example: “We started the rollout at 1% of users, increased to 10% after 24 hours without issues, and plan to reach 100% by the end of the week.”
Canary release A canary release is a technique where a new feature or version is exposed to a small subset of users before a wider rollout. The name refers to the “canary in a coal mine” — early warning of problems. Example: “We’re doing a canary release for the redesigned dashboard, exposing it to 5% of users while we monitor error rates and user feedback.”
Kill switch A kill switch is a feature flag that can be used to immediately disable a feature in production without a deployment. It is the safety net that allows teams to ship with confidence. Example: “We always ship major features with a kill switch. If something goes wrong, we can disable it in seconds rather than rolling back the deployment.”
Targeting rule A targeting rule defines which users, sessions, or requests should receive a feature when it is partially rolled out. Rules can be based on user attributes, location, account type, or any other relevant dimension. Example: “We’ve set a targeting rule to enable this feature only for users on our beta programme and internal employees.”
Common Scenarios Where This Language Is Used
In a sprint review or release meeting: “The new search algorithm is behind a feature flag. We’re currently at 15% rollout in production. So far we’re seeing a 12% improvement in click-through rates and no significant increase in error rates. I propose we accelerate to 50% tomorrow.”
In an incident call: “We’re seeing elevated error rates in the payment service. I’m going to check whether this correlates with the feature flag rollout we started this morning. If it does, I’ll use the kill switch to disable it immediately while we investigate.”
When explaining feature flags to a product manager: “A feature flag means we can merge the code into the main branch and deploy it to production without anyone seeing it. Then we control who sees the feature separately, without touching the code. This gives us much more flexibility than traditional release management.”
In a pull request review: “I see this feature is not behind a flag. For a change of this size, I’d recommend adding a feature flag so we can roll it out gradually and have a kill switch if needed.”
Useful Phrases for Feature Gate Discussions
- “The feature is live in production but gated behind a flag — only internal users can see it.”
- “We’re currently at 20% rollout. I’ll increase to 50% once we’ve had 24 hours of monitoring.”
- “The flag has a kill switch — if we see any issues, we can disable the feature instantly.”
- “We can use targeting rules to enable this for your team first while we gather feedback.”
- “The flag is configured in our feature management platform — no code change is needed to update it.”
- “All new features should be shipped behind a flag until we’re confident in their stability.”
- “The canary cohort is showing slightly higher error rates — I’ll hold the rollout there and investigate.”
- “Once the feature reaches 100% rollout, we should clean up the flag and remove the conditional from the codebase.”
- “This flag has been at 100% for three months — it’s tech debt now and should be removed in the next sprint.”
- “We’ve set the targeting rule to include only users in the UK for this initial rollout.”
Flag Hygiene and Technical Debt
Feature flags accumulate over time and become technical debt if not managed. Stale flags — those that have been at 100% or 0% for a long time — should be removed from the codebase. Discussing this clearly is an important engineering communication skill.
“We have 47 feature flags in the codebase. Of those, 12 have been at 100% rollout for more than three months. These should be treated as tech debt — the conditionals should be removed and the feature baked in permanently. I’ll create tickets for each one and we can schedule them over the next two sprints.”
When writing the ticket for a flag removal, be specific: “Remove the new_search_algorithm feature flag. The flag has been at 100% since March. Remove the conditional, update the tests, and delete the flag from the feature management platform.”
Practice Suggestion
Think about a feature that recently launched in a product you use or work on. Write a 200-word rollout plan in English for that feature, as if you were presenting it in a sprint review. Include: what the feature is, what percentage rollout you would start with, what metrics you would monitor, what conditions would lead you to pause or revert the rollout, and how long you expect the full rollout to take. Use at least four of the vocabulary terms from this post.