Feature flags allow teams to separate feature rollout from code deployment, and are fast becoming a best practice for DevOps.
Team Members on LaunchDarkly
Primary Use Case
For over 7,000 restaurants nationwide, Upserve (formerly Swipely) is an essential part of running a smooth operation. Managing 11 million meals per month and relationships with 16 million active diners, Upserve is "the magic ingredient" for a growing number of restaurateurs. The smart management assistant that puts everything restaurateurs need to know in one place, Upserve provides real-time guidance that empowers local restaurants to unlock their full potential.
Josh Chu, Director of Engineering, Upserve
Before using feature flags, Upserve had a system they used for previewing new features using hidden pages they called dark urls. This worked for basic previews for entirely new features, but otherwise had downsides. This technique did not work well to sandbox back-end changes, or when making minor modifications to existing features. Rollouts were always a big bang where a feature was turned on for everyone. Using dark urls was simply not feasible.
In addition to saving expensive engineering time and providing feature control that was previously impossible, LaunchDarkly provided a new context for strategic thinking about rollouts, called "rollout thinking". With the introduction of LaunchDarkly, the development team must consider what will be released behind a feature flag and how much of the feature can be hidden, which ultimately encourages a more disciplined approach for the MVP and user adoption before development begins.