Feature Flags vs. Configuration Options – Same Difference?
1–8 of 8 posts
Re: Feature Flags vs. Configuration Options – Same Difference?
#2This resonates. Feature Flags over time devolve into a lovely career of code archaeology.
Re: Feature Flags vs. Configuration Options – Same Difference?
#3> While documentation is often disliked, it is essential for configuration options, because [...] options are only added to a text file with a one-line comment at best. This resonates. Feature Flags over time devolve into a lovely career of code archaeology.
Sit down and let me tell you the tale of "enable_disable_foo_bar_on_web_phone_but_not_model_x_unless_year_is_even"
Re: Feature Flags vs. Configuration Options – Same Difference?
#4> While documentation is often disliked, it is essential for configuration options, because [...] options are only added to a text file with a one-line comment at best. This resonates. Feature Flags over time devolve into a lovely career of code archaeology.
Explaining old feature flags to colleagues is always a fun time. Sit down and let me tell you the tale of "enable_disable_foo_bar_on_web_phone_but_not_model_x_unless_year_is_even"
Re: Feature Flags vs. Configuration Options – Same Difference?
#5In any case, the thing that we tried to make clear with that paper is that there are different ways to make software do different things (variability) and that these techniques have trade offs. That's still true today and people using the wrong ones make life harder for themselves and their users.
The main trade off is when you have to lock in your choice. With compile or build time feature flags, you are stuck with whatever you set before you ship the binary. You can't change it after. A change will require users to update their software. Configuration gives more flexibility. That breaks into runtime configuration and before runtime configuration.
The broader context here is the notion of companies that build multiple products using the same code base. How do they differentiate products from each other. How do they create new variants. And how do these get configured. Some companies cam up with really complicated ways to do this. The further back you have to go to change a choice (e.g. making source file change vs. setting a checkbox in a configuration screen), the more expensive it gets.
Re: Feature Flags vs. Configuration Options – Same Difference?
#6> While documentation is often disliked, it is essential for configuration options, because [...] options are only added to a text file with a one-line comment at best. This resonates. Feature Flags over time devolve into a lovely career of code archaeology.