The word toggle is used to describe switches that have only two states: on and off. In computing, toggles are commonly found in options menus for various applications. They allow a user to easily select between different settings and features. For example, you might toggle between screen views when video chatting with two friends at the same time. The term also applies to physical hardware switches, such as the caps lock and num lock keys on your keyboard.
The toggle is an important element of Accessible UI Design, and in many cases can be replaced with a more simple button. Adrian Roselli has an excellent blog post that discusses when to use a toggle and when a button would be better suited.
Savvy teams realize that each feature flag they introduce comes with a carrying cost (inventory). They aim to keep the number of toggles low by being proactive about toggling them off when they’re no longer needed. Some teams even add a task to their backlog to remove each toggle once it’s been introduced, or have “expiration dates” on their Experiment Toggles that will prevent a test from running if the flag isn’t flipped to On by the end of its lifecycle.
The ability to dynamically re-configure specific service instances at runtime is a powerful tool for enabling automated testing and manual exploratory tests. However, it is important to be thoughtful about how this tool is deployed and configured in production environments to avoid creating problems with your CI/CD workflow.