logoalt Hacker News

iTokiotoday at 5:59 AM2 repliesview on HN

Feature flags are often ridiculously over engineered.

Check a config, bdd value, env var to dynamically go one path or the other.

That’s all, you must either have a small feature or refactor the code to easily switch at a high level.

If you are not able to do so easily, then yes, complex feature flags implementations might help you, to coordinate feature activation between micro services.

Or if you have many features then a dashboard might be useful.

But I would argue that both are serious indicators that you should avoid feature flags, they are better for local and temporary changes, otherwise the complexity compounds and it become hard to manage and maintain.


Replies

LaurensBERtoday at 6:06 AM

There's an argument to be made for being able to turn on a feature for a certain segment (e.g low revenue users in Italy) so you can see what the business/performance impact is.

Ofcourse you don't want users to lose the feature once they exceeded your revenue threshold or cross the border so you'll need to implement some kind of tracking. Your analytics and error tracking also needs to communicate with the feature flag service.

Definitely not rocket science but more complex than a environment variable.

show 2 replies
danmaz74today at 6:43 AM

The main thing about feature flags is discipline: create them purposefully, remove them as soon as they don't add value any more. KISS applies.