Skip to main content

Managing feature flags in multi-developer environments

· 3 min read
Zoltan David
One with a vision, answers and a master plan.
Roxana Halați
I'm pretty cool, but I cry a lot.

If you’ve been reading about feature flags then I’m sure you’re convinced of the power and value they provide. Since development is mostly a team effort, you may be wondering how to manage a feature flag within a team, regardless of size, so one developer’s work doesn’t affect another’s. Well, in this article, we discuss exactly this issue and offer two solutions, depending on the size of your team.

Cover

Small Teams: 1 Developer = 1 Environment​

If the team you manage is a small one, then your engineers and probably working closely together on the same component. To avoid them bothering each other, it’s a good idea to create ConfigCat Environments for each of them.

Using ConfigCat environments In this example, Jane and John each have their own dedicated ConfigCat environment. This allows John to disable the “Show Extra Levels” flag for himself without affecting the same flag in Jane’s environment. Plus, there are LIVE and STAGE environments where they can collaborate and manage the deployed application’s flag. This is a great approach for small and agile teams and allows you to more easily manage what’s going on with your feature flags. However, if you work in a large team, this might turn out to be inconvenient, which is why we have another solution.

Large Teams: 1 Developer = 1 Targeting Rule​

If the team you’re working with is a rather large one, you might benefit from using targeting to separate flags from developers. By adding two new targeting rules to your feature flags, your software engineers can match the flag to their own development machine.

Using targeting rules to separate developers In this example, both John and Jane work directly in the team’s DEV environment, but using their machines’ names, they can set the flag’s value only for themselves. This way, they don’t impact each other’s or the team’s flag values.

Key Takeaways:

Including feature flags in your development process is a great idea, but there’s always the issue of managing the flags in multi-developer teams. In this article, we’ve gone over the two best practices, depending on team size:

  • Small Team: using different Environments
  • Large Team: using targeting rules for each developer

By employing these practices, you’ll have a much easier time managing the flags and development pipelines, no matter the team size. And since using feature flags gets you out of those costly redeployments, you have no excuse not to give them a try.

If you’re interested to learn more about the power of feature flags, check out more content from the blog and connect with ConfigCat on Facebook, Twitter and Linkedin.