Konubinix' opinionated web of thoughts

Feature Flags

Fleeting

Feature Flags are a time-honored way to control the capabilities of an application or service in a large decisive way

https://trunkbaseddevelopment.com/feature-flags/

Flags Are Toggles

Industry Luminary, Martin Fowler, calls this technique ‘Feature Toggles’, and wrote a foundational definition (see refs below). Feature Flags is in wider use by the industry, though, so we’re going with that.

https://trunkbaseddevelopment.com/feature-flags/

in terms of CI pipelines there is a fan-out […] for each meaningful flag permutation.

A crude equivalent is to run the whole CI pipeline in parallel for each meaningful flag permutation.

That would mean that each commit in the trunk kicks off more than one build - hopefully from elastic infrastructure

https://trunkbaseddevelopment.com/feature-flags/

Pushing code that’s turned off into production, allows you to turn it on for ephemeral reasons - you want a subset of users to knowingly or unknowingly try it out.

https://trunkbaseddevelopment.com/feature-flags/

Flags get put into codebases over time and often get forgotten […] The only saving grace is the fact that you had unit tests for everything, even for code that is effectively turned off in production […] Try to get the business to allow the remediation of flags (and the code they apply to) a month after the release. Maybe add them to the project’s readme with a “review for delete” date.

https://trunkbaseddevelopment.com/feature-flags/