Code Review: Improve Feature Flag Management
Problem to Solve
- Currently, we do not have a unified approach for feature flag management across Gitlab teams.
- Please see the full epic here for more details and data
👉🏾 here
Propose Solution
- Collaborate with
20 teamsacross GitLab, which account for74%of the company's feature flags, to implement a three-step solution for each team. Your team has been selected to participate in the effort. - Develop a standardized feature flag management process that encompasses three key steps: DRI assignment, feature flag auditing and cleanup, and process improvements.
✨ Please see details on each of the three steps below 👇🏾
| Step | Action | Status |
|---|---|---|
|
1 - DRI Assignment |
Assign a Directly Responsible Individual (DRI)
|
DRI: @francoisrose [Backend] DRI: @andr3 [Frontend] |
|
2 - Audit + Cleanup |
Conduct a thorough audit and cleanup
|
|
|
3- Process Improvements |
Define and implement process improvements
|
Feature Flag Analysis - Current State Of Code Review
-
🗒️ Code Review Team Data👉🏾 Team Feature Flag Analysis -
🗒️ Data Source: Here is a link to our full👉🏾 Gitlab Global Feature Flag Data Analysis
Summary:
- The Code Review team owns
22feature flags. This accounts for~3%of all GitLab feature flags -
77%of Code Review feature flags are disabled by default. - There are 13 feature flags associated with milestones 16.9 or earlier
- There are 9 feature flags associated with milestones 16.9+ or later
How to find the latest status
Done - since the start of FY25-Q4
display: table
collapsed: true
fields: state, milestone, mergedAt, title
query:
group = "gitlab-org" and label = "group::code review" and label = "feature flag" and label != "triage report"
and type = MergeRequest and state = merged and merged > 2024-11-01
Issues:
display: table
collapsed: true
fields: state, milestone, closedAt, title
query: group = "gitlab-org" and label = "group::code review" and label = "feature flag" and label != "triage report" and state = closed and closed > 2024-11-01
TODO / In progress
display: table
fields: state, milestone, mergedAt, title
query:
group = "gitlab-org" and label = "group::code review" and label = "feature flag" and label != "triage report"
and type = MergeRequest and state = opened
Issues:
display: table
fields: milestone, title, labels("workflow::*"), assignee
sort: milestone asc
query: group = "gitlab-org" and label = "group::code review" and label = "feature flag" and state = opened
Edited by François Rosé
