When you are implementing feature toggles, it’s important to consider how you will manage these toggles in the long run. Poor management can and will lead to technical debt, which can have grave consequences for your application.
In his blog post, Jim Bird discusses the advantages and disadvantages of feature toggles, specifically with a discussion on technical debt. He talks about the importance of managing feature toggles and how most toggles should be short lived unless you have a plan or process for long-term management.
Feature flags or config flags aka feature toggles aka flippers are an important part of Devops practices like dark launching (releasing features immediately and incrementally), A/B testing, andbranching in code or branching by abstraction (so that development teams can all work together directly on the code mainline instead of creating separate feature branches).
Feature toggles require a robust engineering process, solid technical design and a mature toggle life-cycle management. Without these 3 key considerations, use of feature toggles can be counter-productive. Remember the main purpose of toggles is to perform release with minimum risk, once release is complete toggles need to be removed.