We audited the feature flags across three client codebases this month. Forty-one were live. Nine had been fully rolled out for more than a year and were still being checked on every request.
What we shipped
- Online booking and payment for a ferry operator's freight customers.
- Single sign-on for a payments provider's merchant dashboard.
What broke
A stale flag defaulted to off after a configuration reload and hid a checkout step for eleven minutes. The fix took one line; finding it took most of the eleven minutes.
What we'd do differently
Every flag now gets an owner and an expiry date when it is created. When the date passes, the build warns until someone removes the flag or extends it on purpose.