Chapter 2. How Are Feature Flags Commonly Used?
To understand how feature flags are used, we’ll follow along with a hypothetical team that’s just starting with feature flags.
Our software delivery team works at Acme Corporation, a large online retailer. This particular team is responsible for the Product Details page, owning both the user interface for this page and the functionality that powers it. The team has been experiencing a lot of pain recently with branch management and merge conflicts, and has been researching ways to reduce this pain. The tech lead believes that feature flags could be a way to reduce the amount of branching and merging the team needs to do. The team agrees to try this approach for their next big piece of upcoming work.
A New Carousel
The Product Details page includes images of the product, and the team is planning to roll out a new carousel-based user experience for these product images. Typically, they would work on the new UI in a feature branch, perform validation, testing and sign-off against that branch, eventually merging the branch with their shared release branch so that the new functionality can be deployed to production (and into the hands of their users). Instead of that approach, the team plans to experiment with using feature flags as a way to enable trunk-based development.
They incrementally develop their new carousel experience on the shared release branch, but add some conditional logic so that it shows the new experience only when ...