Muhammed Senussi
Muhammed Senussi
  • Muhammed Senussi
Feature Flags Need an UndertakerDevOps

Flags are excellent at what they are for and terrible as permanent architecture. Ten long-lived boolean flags describe over a thousand possible configurations, and your test suite covers one.

Give every flag a death date

  • Set an expiry when you create it, and fail the build when it passes. A noisy build is cheaper than a forgotten branch.
  • Separate release flags from operational toggles and permission checks. Only the first kind should expire; the other two are features and should be named as such.
  • Removing a flag means deleting the losing branch, not just the condition.

The cleanup is not glamorous work and it never appears on a roadmap, which is exactly why it needs to be automatic rather than intentional.

1 Comments

  • Daan Visser

    April 8, 2026

    We audited ours after reading something similar and found 41 flags, of which 9 were still doing anything.

Leave a comment