0

In a CD environment with new features hidden behind feature flags, there must be a way to ensure that code being pushed to production is effectively zero change?

Particularly in a change management controlled environment, it would be ideal to not treat code deployment as a change - only the feature switch on. To be able to do this, is there a way to prove that all code changes are protected behind feature flags? And that the effective flow is zero change. Feels like something that could and should exist. But maybe others solve this differently?

1 Answers1

0

You've highlighted the great conundrum of feature flags!

I don't believe it would be possible to check this with static-analysis alone as it requires some knowledge of application behaviour (even if the understanding is "what is a feature flag", as they often look like things that aren't feature flags).

In order to prove everything is hidden by feature flags, you'd need to be able to run a test suite aginst the application with all flags switched off.

Whether you also need to test "on" states and combinations of "on" states depends a lot of how you are using feature flags. When you use them to hide a feature in development it's very different to when you make a system user-configurable with flags, or have multiple values per flag.

More flags and flag values = way more combinations. It quickly becomes possible to only test "selected combinations".

Fenton
  • 343
  • 1
  • 2
  • 9