Feature Flags — A Simple Breakdown
Feature Flags — also Feature Toggles — basically give you the ability to choose between alternative features (and code paths!) at runtime. There are a bajillion ways to categorize them, but most of them fall into some variant of • Release Flags — Ship in-progress work that isn’t turned on • Experiment Flags — Ship multiple versions of the component to support A/B testing • Ops Flags — Support enabling/disabling components for reliability purposes • Permission Flags — Enable/disable feature for specific customers, usually for revenue purposes Yes, there is a tremendous amount of overlap in the above, and yes, the same component might migrate through the above flags in its life cycle (°). The key is to remember that, the above categories are more about who manages and benefits from the configuration — Permission Flags might be managed by Sales, Experiment Flags by Product, etc. Keep this in mind as you’re building out your products — bake them in early, and don’t, _for lord...