Feature flags are in our DNA now. I don’t remember how we were rolling out complex features before. But this is a pretty advanced technique and one can run into traps.
That’s the biggest managerial mistake I see. Feature flags have to end their life. But sometimes developers are asked to show a certain feature only to a group of users.
If someone asks you to show a feature to “power users” (e.g. support) or only to users from a certain region (say, only the French market) then there is a high chance that you don’t have a rollout plan. It’s a sign that your software is missing some general features like roles, user settings, packages/tiers, or something similar.
Don’t use feature flags for stuff like this because you’ll end up with them till the end of the project. Which will add complexity to the codebase and blur the overview of features rollout.
If you don’t have a clear overview then it’s easy for a flag to get stuck in the process. Most often, they get stuck after Public Release when everyone opened champagnes and started the celebration.