How Feature Flags Tame the Four-Heads of Complexity

This article by Jeffrey Lee of Tech Ladder highlights the interplay of feature flags and the four heads of complexity.  It illustrates how developers can deploy code more efficiently and without added risk by using feature flags.

Feature flags generally manifest in two forms: boolean and multivariate (a type of feature flag that can serve strings, number and json variations in addition to boolean variations). This allows users to customize two or more variation of a feature before rolling it to a system. They can decide percentages as well. For instance, they can decide that 10% will get a one version of the feature, 20% will get the second, and 70% could get the third version. Through these methods, developers gain more control of their product, and worry less about the ugly heads that could appear in the process.

It’s fun to apply the four-heads of complexity to other areas of software development as well. It can even be applied to our everyday lives. Of course, you can never truly control complexity in a system, but you can tame it. The whole idea can lead to interesting questions. It makes you ask yourself, how am I combating the complexity beast in my own system?