Feature Flags & Progressive Delivery
Feature flag patterns, progressive delivery strategies, and tools for safe continuous deployment.
- feature flag /ˈfiːtʃər flæɡ/
A runtime toggle that controls whether a feature is active for a user or group; enables deploying code separately from releasing it.
"We shipped the new checkout behind a feature flag — it was deployed to production for two weeks of testing before we enabled it for any users."
- flag lifecycle /flæɡ ˈlaɪfsaɪkəl/
The stages a feature flag passes through: create, enable for internal testing, progressive rollout, full release, and then retire the flag from the codebase.
"We track all flags in a spreadsheet with a retire-by date — flags that stay past their date are treated as technical debt in the sprint."
- targeting rule /ˈtɑːɡɪtɪŋ ruːl/
Condition that determines which users see a specific flag variation: by user ID, organisation, percentage, geographic region, or custom attribute.
"The targeting rule enables the new dashboard only for users whose plan attribute equals enterprise — free tier users see the existing version."
- percentage rollout /pəˈsentɪdʒ ˈrəʊlaʊt/
Gradually enabling a feature for an increasing percentage of users while monitoring error rates and metrics before full release.
"We rolled out the new search engine to 1%, then 10%, then 50% over three days — each step was gated on p99 latency staying below 200ms."
- canary release /kəˈneəri rɪˈliːs/
Routing a small percentage of production traffic to a new service version while the rest uses the stable version; named after canaries in coal mines.
"The canary release sent 5% of requests to v2 — when error rate was indistinguishable from v1 after 30 minutes, we shifted all traffic."
- blue-green deployment /bluː ɡriːn dɪˈplɔɪmənt/
Running two identical production environments; traffic switches atomically from the blue (current) to the green (new) environment with instant rollback capability.
"Blue-green deployment gave us zero-downtime releases — switching traffic took 10 seconds and rolling back was equally instant by swapping the load balancer target."
- ring deployment /rɪŋ dɪˈplɔɪmənt/
Rolling out changes through concentric groups of increasing size: ring 0 is internal users, ring 1 is beta users, ring 2 is the broad release.
"Microsoft uses ring deployment for Windows updates — issues surface in ring 0 and 1 before reaching the millions of devices in the general release ring."
- kill switch /kɪl swɪtʃ/
A feature flag configured to instantly disable a feature in production without requiring a new deployment.
"When the new payment processor started declining legitimate cards, we flipped the kill switch and restored the old processor within 30 seconds."
- flag debt /flæɡ det/
Technical debt from feature flags that were never cleaned up after their rollout completed; stale flags increase code complexity and cognitive overhead.
"A code review revealed a flag from 18 months ago still wrapping the new onboarding flow — cleaning it up removed 300 lines of dead code and the old flow."
- dark launch /dɑːk lɔːntʃ/
Deploying new code behind a flag that is off for all real users; allows load testing and infrastructure validation in production without user exposure.
"We dark-launched the new recommendation engine by duplicating real requests to it and logging the results — no user saw the output until we were confident in quality."
- trunk-based development /trʌŋk beɪst dɪˈveləpmənt/
A branching strategy where all developers integrate into a single main branch at least daily; feature flags allow incomplete work to coexist safely.
"Trunk-based development with feature flags replaced our long-lived feature branches — merges are trivial and the main branch is always deployable."
- LaunchDarkly /lɔːntʃ ˈdɑːkli/
Popular commercial feature flag management platform offering targeting rules, A/B experimentation, and real-time flag updates via a streaming connection.
"LaunchDarkly's streaming SDK means flag changes reach all connected clients in under 200ms — no polling delays between toggling a flag and seeing the effect."
- Unleash /ʌnˈliːʃ/
Open-source feature flag server available as a self-hosted option; supports multiple strategies including gradual rollout and user-based targeting.
"We self-host Unleash so feature flag data never leaves our infrastructure — a compliance requirement for our enterprise customers."
- flag evaluation /flæɡ ɪˌvæljuˈeɪʃən/
The process of determining which variation a specific user sees by evaluating targeting rules in order until a match is found.
"Flag evaluation runs client-side in the SDK with a locally cached ruleset — there is no network request per evaluation, so it adds zero latency."
- rollback trigger /ˈrəʊlbæk ˈtrɪɡər/
An automated condition — such as an error rate spike or latency threshold breach — that disables a flag or reverts to the previous deployment state.
"We configured an automated rollback trigger: if error rate exceeds 1% within 5 minutes of a canary shift, the flag reverts to the stable variation automatically."
Quick Quiz — Feature Flags & Progressive Delivery
Test yourself on these 15 terms. You'll answer 10 multiple-choice questions — each shows a term, you pick the correct definition.
What does this term mean?