← Back to blog

EngineeringMar 17, 20262 min read

Why we ship behind feature flags by default

Deploying isn't releasing. Decoupling the two is the cheapest way to make every Friday afternoon less stressful.

Rahul P.
Rahul P.Platform Engineer

A deploy you can't roll back is a bet. A flag you can toggle in thirty seconds is a choice.

Friday deploys do not fail because Git is hard. They fail because deploy and release are the same button — and rollback becomes a crisis instead of a toggle.

Feature flags are not a library choice. They are a permission structure: engineers ship plumbing; product chooses exposure.

Deploy is not release

Once deploy is routine and release is deliberate, Friday afternoons get quieter. The code is in production; the user is not — until someone flips a switch in daylight on Monday.

Deploy anytime; release when the team is ready to own the outcome.

What we measure

Two metrics matter: percent of changes behind a flag, and average age of active flags. The first proves discipline; the second proves you clean up.

Every flag needs an owner, a hypothesis, and an exit — or it becomes archaeology.

DevInsights tags PRs by flag state and surfaces flags older than thirty days. Stale flags are technical debt that compounds quietly.

Where flags go wrong

Flags are not a substitute for tests. They tell you what shipped, not whether it works.

  1. Name the owner and hypothesis when the flag is created
  2. Set an exit criterion before merge — not after incident
  3. Calendar a deletion review; orphaned flags are a codebase smell

Key takeaways

  • Decouple deploy from release to make rollback a choice.
  • Track flag coverage and flag age like any other debt.
  • Treat each flag as a mini-product with an exit plan.
Share this articledevinsights.net/blog/feature-flags-by-default

Product3 min read

DORA without dashboard fatigue

Four metrics matter — but only if your team sees them in standup, not in a slide deck nobody opens.

Jordan Lee
Jordan LeeMay 12, 2026
Read
Early access

Turn commits into conversations.

Join the waitlist for private beta — free, no credit card.

Get early access