<blockquote>“Flags allow us to restrict features to certain environments, while still using the same code base on all servers.” ~ Ross Harmes</blockquote>
<p class="abstract">Feature flags offer an alternative to maintaining multiple various branches of source code. Continuous deployment requires such feature branches to be integrated with the master branch as early as possible. Feature flags are toggles that allow for early integration with execution paths turned off by a toggle that can be turned on for specific users/testers or when the feature is ready for deployment without having to roll out new source code. There are two basic types of feature flags: release toggles and business toggles. Release toggles are used for rolling out new features in continuous deployment. Business toggles allow for restricted user access such as through premium accounts. The simplest feature flags are boolean statements however they can be more. State can be set statically or dynamically. Rule based toggles can be used with XML, YAML, and JSON. Beyond common usage they are also available for trial of new features to allow early access to beta testers, allow internal review of the feature, or run A/B tests. When rolling out new features toggles can be used to verify scalability of the feature or app. Toggles should show a minimal presence in code and be retired once pending features are added. Dangers of using feature flags include accidental exposure of the feature, corrupting data, and technical debt created by the toggles.</p>
Hosted on Acast. See acast.com/privacy for more information.
En liten tjänst av I'm With Friends. Finns även på engelska.