Report on feature flags that are enabled but no longer needed
Problem to solve
Feature flags have a lifecycle where they are created, rolled out, and then finally considered permanent. There is an important step here, once the feature flag being turned on is considered canonical, to go back and clean up the control flow within the codebase that allows the feature to be turned on/off and to retire the feature flag itself. Without doing this, accumulation of many no-longer needed feature flags can result in spaghetti code that is hard to understand.
We should provide an alert on when we believe a feature flag has reached this point in the lifecycle as a reminder to clean it up.
Further details
See https://blog.github.com/2018-10-17-action-demos/#launchdarkly-automated-feature-management-with-a-focus-on-product-not-processing where they discuss giving an overview of all feature flags that are enabled but still in your code to prevent technical debt.
In Launch Darkly there is an indicator icon in the feature flag list that gives info when you hover over it
Proposal
There are a few potential options here. We can show an alert in the feature flag list, or even create an issue in the appropriate project to clean things up.
What does success look like, and how can we measure that?
It is clear when a feature flag is ready to be cleaned up and retired.
Links / references
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.