When feature flags is worth the effort
This is cheap to get right at the start and expensive to retrofit. Feature flags is not free, and pretending otherwise leads to bad decisions.
Code gets read far more often than it gets written, and usually by someone with less context than the author had. Most teams find the first pass takes an afternoon and the maintenance takes minutes a month.
When it is worth it
Flags let you ship code before you ship the feature. The reasoning matters more than the rule, because the rule has exceptions. Assume whoever inherits this will have half your context and none of your patience.
When it is not
If nothing downstream depends on it and nobody is complaining, it can wait. The cost of getting this wrong is rarely visible on the day it happens.
How to decide
Delete flags once they are permanently on. Getting it slightly wrong is survivable. Ignoring it entirely is not. If two people in the business would answer this differently, that gap is the actual problem.
The short version
The question is rarely whether something can be built, but what it costs to keep running afterwards. Three things worth confirming about feature flags before you move on:
- Someone can say what the current setup is without going to look
- Rolling out to a small group first contains the blast radius — and you know whether that is true here
- There is a way to tell whether the last change to this helped
The point is not perfection, it is knowing which of these you have consciously chosen to skip.