Feature flag clean-up is part of development, not maintenance
What does this MR do and why?
Update the feature flag clean-up and roll-out issue templates to use featureaddition instead of maintenanceremoval.
The introduction, roll-out, and clean-up of a feature flag is part of feature development, not maintenance.
For cross-functional prioritization, issues labelled as typemaintenance fall within the Engineering's budget for maintenance.
From work type classification:
- typefeature: Effort to deliver new features (...)
- typemaintenance: Upkeeping efforts & catch-up corrective improvements that are not Features (...)
- maintenanceremoval: Deprecation and removal of a functionality when it's no longer needed.
The functionality is needed, and the FF work is part of the effort of delivering it.
Note that the paragraph for typemaintenance in the page above also currently says:
This includes removing or altering feature flags (...)
This, in my opinion, is incorrect because when we introduce a FF as part of a feature, the plan is always to roll it out and then clean it up. We shouldn't be adding to our technical debt (typemaintenance) as part of our development process.
The page above is updated in gitlab-com/content-sites/handbook!2328 (closed).
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.