What is a Togle?
Togle is a tool for managing code deployments. Feature toggles enable trunk-based development for teams practicing Continuous Delivery, they can also be used to perform multivariate or A/B testing. Feature toggles are particularly useful for controlling the rollout of new features to a large number of users.
The word toggle is a verb meaning to switch between two states, the same way that you might toggle between screen configurations during a video call with two friends at once. It’s a great analogy for how your engineers use toggles to roll out new features to your users.
Typically Release Toggles are transitionary by nature, they should not remain in place for long (although some product-centric toggles may need to be rolled out for a longer period of time). To avoid confusion for your customers and to prevent accidental regressions during a migration it’s often good practice to rename Release Toggles when their purpose changes.
Many teams choose to manage their Toggle Configuration in some form of centralized repository, often an existing application DB. This enables the team to manage toggles at scale by enabling developers, testers and product managers to view and modify their state in a consistent and accessible way.
Toggle names should be descriptive and memorable so that they can be easily recognizable by any team member, regardless of their context or history with the project. In addition to their descriptive names, it’s good practice to provide some useful contextual information on a toggle’s purpose, history and current state – for example, “Cookies” or “Chat”. This helps anyone who encounters a toggle in error messages understand what it means and where it should be used.