Feature flags
Switches in code that turn a feature on or off for some or all users without a new deploy.
Flags separate deploying code from releasing it: unfinished work ships dark, a feature goes to staff first, then 10% of users, then everyone. A kill switch is a flag that turns off something misbehaving in seconds. Flags also power experiments. The cost is clutter: every flag is a branch in the code that someone has to remove later.
Related terms
- Trunk-based development: Everyone merges small changes into one main branch at least daily, instead of keeping long-lived feature branches.
- Blue-green deployment: Two identical production environments: the new version goes to the idle one, then traffic switches over, and back if something breaks.
- Observability (o11y): Being able to tell what a running system is doing, and why, from the data it emits: logs, metrics and traces.
