Feature flags are debt. Pay it back.

We had 140 flags. Nobody knew what a third of them did.

A person drawing a diagram on a whiteboard

Feature flags let us ship safely. They also pile up. When we counted, we had 140, and nobody could explain about a third of them.

Why old flags hurt

  • Every flag doubles the paths through the code you are meant to test.
  • Old flags get flipped by accident.
  • New people cannot tell which branch is the real one.

What we changed

Every flag now has an owner and an expiry date when it is created. A weekly job lists the flags past their date in the team channel. Removing a flag is part of finishing the feature, not a separate task for later.

We are down to 31.

Spotted a mistake?

Tell me and I will fix the post

Corrections are credited at the bottom of the article.