Deprecate backstage throughput type
Current plan is at https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/488
Objective
Improve the MR Type tracking to improve attribution to Throughput type by deprecating and remove ~backstage which is currently being used as a catch all.
Plan
-
2020-06-29 - Communicate in #product, #eng-managers - @kwiebers -
2020-06-30 - Communicate in #development - @kwiebers -
2020-07-08 - Merge !53571 (merged) - @kwiebers -
2020-07-08 - Deprecate ~backstage on gitlab-org
- @kwiebers -
2020-07-08 - Update triage-serverless nudging automation to be all gitlab-org
- @rymai -
2020-07-08 - Communicate in #development, #eng-managers, #product - @kwiebers -
2020-07-08 to 2020-07-24 - Measure Throughput type population rate and report back - @kwiebers
Background
~backstage is generally unclear due to its current catch-all nature. backstage is historically 36-40% of the overall product MR population and it is not easy to identify further detail from ~backstage.
Some of the examples we have found where ~backstage is applied which makes it challenging to account for the changes:
- Early foundational feature work would not be counted towards feature
- e2e test case creation in support of features (new or existing) are generally tracked with ~backstage
- Engineering workflow, pipeline and release tooling changes from other ~backstage changes
Danger encouraged this behavior by warning that there is no Changelog for an MR and directing to ~backstage which has been changed with gitlab-org/gitlab!30514 (merged).
Proposal
-
Update handbook throughput types for ~backstage: #7865 (closed) -
Create handbook guidance and snippets for reporting in Sisense and Insights by Throughput type: https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/528 -
Create new labels and deprecate ~backstage: gitlab-org/quality/triage-ops#482 (closed) - featureaddition
- ~"feature::maintenance"
- ~"tooling::pipelines"
- ~"tooling::workflow"
-
Add triage reaction rule: gitlab-org/quality/triage-serverless#33 (closed) => gitlab-org/quality/triage-serverless!20 (merged) - Replace ~backstage with a replacement sub-type and direct to handbook
- Apply top level type labels based on sub types
-
Remove Deprecated ~backstage label: gitlab-org/quality/triage-ops#483 => gitlab-org/gitlab!33758 (closed)
Nice to dos
-
Update danger references to ~backstage: gitlab-org/gitlab#219751 (closed)
Analysis
Engineering Productivity believes that ~backstage is not the most appropriate label 40% of the time that ~backstage is applied:
- feature - 28% based on ~api Architecture decision ~deprecation enhancement ~"feature flag" performance ~"Stuff that should Just Work" technical debt ~test ~"UI polish" ~QA
-
tooling - 11% based on ~"Danger bot" ~"ci-build" ~"single codebase" ~"dependency update" ~"Style decision"
~railsx.y
labels - bug - 0.5% based on ~regression
- documentation - 1.5% based on ~"docs-only" ~"docs-fix" Technical Writing development guidelines
Sisense charts
- Product MRs by Type
- Backstage MRs - this looks at MRs that only have ~backstage as a throughput label and identifies relevant other labels which indicate what type of change it may be.
- Other Backstage MRs