--- title: "Foreword" chapter: true weight: 10 --- # What is Feature Flag? Put simply, feature flagging is a practice of wrapping new functionality in conditional code blocks. Feature flags are used to hide, enable or disable features during runtime. With feature flags, a software feature can be tested even before it is completed and ready for release. For example, during the development process, a developer can enable the feature for local testing and disable it for all other users. Feature flagging also provides an alternative to maintaining multiple feature branches in source code. ## Use Cases ### Kill switch With CloudBees Feature Management, there is no need to panic and roll back entire builds on the weekend when new code causes problems. Immediately kill, or turn off, features running in production without having to roll back versions or make a hot fixes to code. Just simply toggle it off. ### Testing in production Get the most accurate testing feedback by giving production access to your QA or Testing teams - Never miss a bug again from a poorly replicated testing environment. ### Product experimentation Gain valuable feedback about how actual users are using features. Have something baked out just enough for beta testing? Roll it out to a small select user base instantly. ### Release management Control which user segments gain access to new builds and features, easily enabling your team to perform Canary or Blue/Green deployments, and beta releases. ### Decoupling deployments from releases Rethink your software delivery strategy by decoupling code releases and feature releases - allowing teams to work on their own schedules without interrupting users ### License management Grant access to certain types of users and customers (like trial users, subscribers, premium members, etc) to different features or sections of your product. Proceed to the next section to learn more about CloudBees Feature Management.