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.
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.
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.