Feature flags for small teams
This is cheap to get right at the start and expensive to retrofit. Most advice about feature flags assumes a team that does not exist at your size. Here is the version that does not.
The question is rarely whether something can be built, but what it costs to keep running afterwards. Doing this properly once is usually cheaper than doing it approximately three times.
What to keep
Flags let you ship code before you ship the feature. In practice this is a scheduling problem more than a technical one. Write the reasoning down alongside the decision, because the reasoning is what changes first.
What to drop
Process that exists to coordinate ten people is overhead when there are two of you. That sounds obvious written down. It is still the thing most often skipped.
Where to start
Delete flags once they are permanently on. In practice this is a scheduling problem more than a technical one. Anything you cannot measure here, you are deciding by taste, which is fine as long as everyone knows it.
How to tell if yours is fine
Most development decisions are really maintenance decisions wearing a different hat. Three things worth confirming about feature flags before you move on:
- Someone can say what the current setup is without going to look
- Delete flags once they are permanently on — and you know whether that is true here
- There is a way to tell whether the last change to this helped
If you are not sure where your systems currently stand on this, it takes us about an hour to find out.