Feature flags is a software development concept that allows you to conditionally run some piece of logic or application. It is a simple if-else statement.
Feature Flag uses cases
- Software release simplification
- Targeted and personalised experiences
- Feature Flags in trunk-based-development
- Feature flags and migrations
- Feature Gating
Issues Feature Flags come with
Feature flags can create a Tech debt, where the codebase becomes littered with feature flags and old code that nobody needs/uses anymore. To avoid it, you have to come up with a naming strategy so the purpose of a feature flag is clear. Also, you have to have one day assigned within a month or a quarter, where you clean up your feature flags.