Uncategorized

What Is a Toggle?

A toggle lets people choose between two opposing values that affect the state of content or a view. When used well, it requires a single action to change from one state to another, and it uses a clear visual cue (usually an icon) to communicate its current state.

Toggle configuration is usually stored in some form of centralized system, which makes it easy for product managers and other stakeholders to modify it at scale. This often includes a configurable admin UI that allows them to see the toggle’s current state and its corresponding code branch.

Feature toggles enable us to deploy features that we aren’t confident enough to integrate into trunk code right now. That’s important because it supports newer agile development models and allows teams to continue delivering value to customers while they work on complex features that are still under evaluation.

Toggles also let us run experiments that would be difficult to run on code branches under more traditional waterfall development processes. For example, a team might add an experiment toggle to their configurator that splits users into two cohorts and sends each cohort down different suggestion algorithms. After the experiment is complete, if they decide that algorithm B provides better results, the team can remove the experiment toggle and roll out algorithm B for all users.

Unlike other categories of Feature Toggles, Permissioning Toggles tend to be fairly long-lived and stable. As such, it’s not uncommon for product managers to have a toggle in place for multiple years.