RadarTrek
Home/Courses/Feature Flags/Why Feature Flags Change How You Ship
Lesson 01 / 8ยท7 minFree

Why Feature Flags Change How You Ship

Decoupling "deployed" from "released" is the single biggest unlock for shipping confidently

Without feature flags, deploying code and releasing a feature are the same event โ€” the moment you merge to main and deploy, every user sees the change. That coupling is the source of most "we shipped a bug to everyone at once" incidents.

The light switch analogy

๐Ÿ’ก

A feature flag is a light switch, not a rewiring job

Wiring a new light fixture into a house is the deploy โ€” it is installed, but nothing changes yet because the switch is off. Flipping the switch is the release โ€” instant, reversible, and separate from the (slow, risky) work of installing the wiring. Without a switch, "installing the light" and "turning it on for the whole house" are the same irreversible action.

What flags let you do that you cannot do otherwise

  • Deploy on Friday without fear โ€” The code is live but flagged off โ€” nothing user-facing changes until you flip the switch, whenever you choose
  • Roll out to 5% of users before 100% โ€” Catch a bug or a bad metric while it only affects a small slice of traffic
  • Turn off a broken feature in seconds โ€” No redeploy, no rollback, no waiting for a build โ€” just flip the flag back off
  • Run two versions side by side and measure โ€” A/B testing is built on the same mechanism as a release flag

What happens without flags

  • Every deploy is a release โ€” There is no "ship it but don't turn it on yet" โ€” merge and deploy means live for everyone
  • Rolling back means reverting code and redeploying โ€” That can take minutes during an incident โ€” every minute matters
  • Big features ship in one giant merge โ€” Long-lived feature branches that diverge from main for weeks are a direct result of having no safe way to merge incomplete work
!

Flags are also why trunk-based development works

Teams that merge to main multiple times a day rely on flags to hide unfinished work โ€” the code lives on main, behind a flag, well before it is ready for users. This is what makes long-lived feature branches unnecessary.

โ†’

Try this

Think of the last feature your team shipped that needed a rollback or caused an incident. Write one sentence on how a feature flag โ€” wrapping just that feature in an on/off switch โ€” would have changed the outcome (faster rollback, smaller blast radius, or both).

RadarTrek Intel โ€” monthly score updates

We track 40+ tools so you don't have to. Score changes, new tools, and new guides โ€” once a month, no spam.