18

Feature toggles are a common practice in high-velocity development because they de-couple development from release. Dev teams can "soft-release" a new feature to production, in a disabled state. This allows the feature to be released any time. If the feature is dependent on other work or preparation, it doesn't have to wait for a major release to go to ...


16

Feature flags are an engineering device that can be used to avoid long-lived branch and conflicts in product development. Here is how it can be used the context of an object-oriented language to help developers collaborate on a specific product feature while one handle a new version. This solution can also be used in non object-oriented contexts, provided a ...


8

If you take it on an objective only point of view, there's no difference. But feature toggles carry a heavy binary "on/off" for the whole application idea, whereas feature flags are a more relaxed term which can encompass ramp up testing more easily. When you launch a ramp up testing and turn the new feature on for 10% of your traffic or user base and move ...


8

In an ideal world I think you roll out a new build and surprise! NOTHING changes. This is because all of your new features are behind switches that go out with the switch off. Post-deployment you verify that your rolled-out service still works, the phones aren't ringing any more (unless ringing phones is your purpose, that is), etc. Once you are back to a ...


7

The steps are quite "easy", to move to a feature flag app you need basically two things: A flag repository (file/data base/env variable) Conditional statements to change the behavior according to the flag. The basic of feature flag is to turn them on/off, but quickly you'll wish to release a new feature in a ramp-up manner, for example: 1 server on 5 ...


4

A successful high-velocity development environment typically relies on a pretty strict automated system involving quality verifications with detection and rejection of faulty changes causing regressions. Feature toggles offer the ability to commit even work-in-progress, untested changes without getting rejected for causing regressions in the integration ...


3

I would add that a toggle is on/off (show ads on the site, don't show ads) and perhaps augmented by a flag like (West Coast gets ads from provider A, East Coast gets ads from provider B). Toggling turns off all ads. A feature flag might be able to switch from provider A to provider C. I also think a key part is deciding how your switches and settings work ...


2

Developers (and usually development managers) usually look for two outcomes associated with framework: ease of management, and speed of deployment. You want to ship code faster, and easier. Provide evidence that the approach works; try building a small POC using feature flags versus the old way. Case studies matter less to tactical people (developers\...


2

The embedded software world often uses build-time flags, in the app code itself (#define/#ifdef statements, for example) and/or in build tools configuration files (makefile's, for example). Build flags can be used, in similar manner, not only for features, but also for all kinds of code refactoring, migrations, debug support, etc). They allow committing in ...


2

The two approaches whilst somewhat overlapping solve two different problems: Feature flags allow you to decouple the action of deployment from the action of release. i.e. you can push a change to an API that adds functionality to support a new feature, then when your product owner wants to release it all they need to do is toggle the feature on. API ...


1

It depends on how you're managing your feature flags. Ideally, you're using a flagging system that allows you to target specific users or segments of users so that an untested feature isn't inadvertently enabled for all your users. Some feature management systems (like LaunchDarkly) allow you to target users any way you want. For example, a common workflow (...


Only top voted, non community-wiki answers of a minimum length are eligible