Chapter 11. Best Practice #9: Build a Feedback Loop
Feature flags allow us to make controlled changes to our system. We can then observe the impact of these changes and make adjustments as necessary. If a new feature causes business growth metrics such as conversion rates to increase by 20% (with statistical significance), we keep the change and roll it out to our entire user base. Conversely, if a new feature is causing an engineering metric such as request latency to spike by 200%, we want to roll the change back—quickly! Put another way, when working with feature flags we operate within a feedback loop. We make changes, observe the effects, and use those observations to decide what change to make next, as illustrated in Figure 11-1.
We cannot overstate how effective a mature feedback mechanism is in unlocking the maximum value of a feature-flagging practice. Making a change without being able to see the effect of that change easily is like driving a car with a fogged-up windshield.
Despite the value of this feedback loop, a surprising number of feature-flagging implementations start life with no or very limited integration to the analytics and instrumentation systems that exist in most modern product delivery organizations and provide a rich mechanism for feedback and iteration.
Figure 11-1. Feedback loop for feature iteration
Correlating Changes with Effects
To observe the ...