Feature flags decouple release from exposure
Deploying code and exposing it are different acts. A feature flag is a runtime switch that decides whether shipped code is active, letting you release continuously and switch behaviour without redeploying. Ship hollow, then turn on A feature flag splits the moment code ships from the moment users see it. The default value is off, the new code path is hidden behind the flag, and shipping changes nothing visible until the operator flips it. That decoupling is what lets a risky feature ride the normal release train: the deploy is reversible by turning a flag off, which is a faster rollback than replacing a build. Release and exposure become two separate verbs, so you can ship on a Tuesday and light the feature up when the room is actually watching. The empty shell also lets you validate deploy-time behavior — pod count, startup errors, metrics — with zero user-facing change. ...