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.

Feedback loop for feature iteration
Figure 11-1. Feedback loop for feature iteration

Correlating Changes with Effects

To observe the ...

Get Feature Flag Best Practices now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.