How to Configure a Togle
A toggle is a switch that has two positions, on and off. In software a toggle is usually used to enable or disable menu items and functions. A toggle is also a hardware component, like the pin that passes transversely through the eye of a rope or loop to fasten it, or the part on computers and some other machines that lets you toggle between the caps lock and num lock keys.
In source code, the configuration of a toggle is often baked into a release through comments or a preprocessor feature (e.g., #ifdef). This approach is fine if it’s limited to toggles that will not require dynamic re-configuration. However, as the number of toggles grows it becomes increasingly difficult to manage their configuration through static files. In this case, it’s advisable to move the toggle configuration into some type of centralized storage such as an existing application DB. Typically this is accompanied by the build-out of some form of admin UI to allow system operators, testers and product managers to view and modify the toggle configuration.
Savvy teams consider the feature toggles in their codebase to be inventory that comes with a carrying cost. As such, they seek to keep the amount of inventory as low as possible by being proactive about removing toggles that are no longer needed. Some teams have a policy of adding an “expiration date” to each toggle and adding it to the team’s backlog as it nears its time to be removed from production.