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

image

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.

Edited Mar 22, 2023 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading