Managing feature flags : deliver software faster in small increments - Aijaz, Adil; Echagüe, Patricio (O'Reilly Media, 2017)
Developers have long used configuration options or flags to control what their software programs do at runtime. Feature flags are a modern application of this concept, focused on accelerating software delivery. Fast-moving software teams used flags a decade ago to work on half-finished code without disrupting their users. Today, it's become standard practice for product delivery teams to use flags to deliver functionality in small increments--while learning from their users. In this short book, you'll look learn how teams can successfully apply feature flags--aka toggles, flips, gates, or switches--to accelerate software delivery. You'll learn about different types of feature flags, and explore critical code-level techniques to keep your feature-flagging code manageable. You'll also learn how to keep the number of flags in your codebase to a manageable level. Use flags in feature management to determine which users are exposed to a given feature Examine several cases involving feature flags, including continuous delivery and testing in production Learn techniques to ensure that feature-flagged code is readable, maintainable, and testable Explore the trends and practices that are driving the convergence of continuous delivery and experimentation.