Managing feature flags in multi-developer environments
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.
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.
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.
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.