Redesign issue workflow process

Problem to solve

I ran a quick poll in slack #whats-happening-at-gitlab and of 74 responses, 40 (54%) were aware of and/or believe they follow the https://about.gitlab.com/handbook/product-development-flow/

Proposal

It's going to be hard to change what we currently have "in place". However, as an MVC, we can start adding some labels automatically, while we determine a set of labels that will meet most teams' workflows.

These changes are not going to be disruptive to current workflows. They are additional labels to help us with high-level queries. You will have time to change your processes if it makes sense for your team.

The CoS team has discussed this plan and agreed with implementing some automation to help move us in this direction.

Implementation

Step 1

We are going to an experiment... mapping the existing workflows to 4 simple "top level" labels:

  • ~"issue::validation"
  • ~"issue::planning"
  • ~"issue::development"
  • ~"issue::complete"

This step is already complete, and triage-ops has been configured to automatically add these new labels when issues are created/updated. A merge request has been raised to migrate all of the other open issues, but we're going to hold a little before we pull the trigger.

At this point, nobody is expected to manually assign these labels (we will communicate the planned change, but not expect any additional effort from team or community members), but we should now be in a unique position to easily group/filter issues to see what needs validating, what needs designing, what needs development and what is complete.

Step 2

  • Agree and create the new lower level "workflow labels": ~"validation::xxx", ~"planning::xxx" etc.
  • Create a mapping for existing workflow labels to these lower level buckets (not all existing labels will be "mappable" and code them into triage-ops to automatically assign).
  • At this point, we will still not expect anyone to manually assign labels.
  • We will probably now want to take some time to review the labels and see if we feel there are any gaps.

New detail level labels

Mappings

The new "gray" labels will be automatically added based on the existing/old "blue" workflow labels.

Team members can continue to apply the "blue" workflow labels and all processes will remain unchanged.

Step 3

  • Figure out how to deprecate the old issue workflow labels.
  • Get everyone using the new ones.
  • Continue adding the new issue workflow labels automatically? (remove the old ones at the same time).

We could do this team by team?

NOTE: We will not be deleting any labels used in merge request workflow and will not be changing the merge request workflow process.

Other

See #77 (comment 1512069941)

Current workflow label usage:

image

See counts/totals
label status count
workflow::In review open 0
workflow::In review closed 33
workflow::awaiting security release open 13
workflow::awaiting security release closed 241
workflow::blocked open 986
workflow::blocked closed 953
workflow::canary open 0
workflow::canary closed 133
workflow::complete open 13
workflow::complete closed 6824
workflow::design open 440
workflow::design closed 1129
workflow::failed current version open 0
workflow::failed current version closed 0
workflow::feature-flagged open 7
workflow::feature-flagged closed 33
workflow::in dev open 559
workflow::in dev closed 5362
workflow::in review open 307
workflow::in review closed 10634
workflow::in-review open 1
workflow::in-review closed 3
workflow::issue reviewed open 0
workflow::issue reviewed closed 3
workflow::needs issue review open 11
workflow::needs issue review closed 17
workflow::open for discussion open 0
workflow::open for discussion closed 0
workflow::planning breakdown open 1776
workflow::planning breakdown closed 1717
workflow::post-deploy-db-production open 2
workflow::post-deploy-db-production closed
workflow::post-deploy-db-staging open 0
workflow::post-deploy-db-staging closed 2
workflow::problem validation open 1131
workflow::problem validation closed 1206
workflow::production open 22
workflow::production closed
workflow::ready for design open 612
workflow::ready for design closed 272
workflow::ready for development open 2959
workflow::ready for development closed 4041
workflow::ready for review open 20
workflow::ready for review closed 227
workflow::ready-for-review open 0
workflow::ready-for-review closed 0
workflow::refinement open 1435
workflow::refinement closed 1378
workflow::scheduling open 724
workflow::scheduling closed 733
workflow::solution validation open 691
workflow::solution validation closed 922
workflow::staging open 3
workflow::staging closed 279
workflow::staging-canary open 0
workflow::staging-canary closed 6
workflow::staging-ref open 0
workflow::staging-ref closed 1
workflow::start open 486
workflow::start closed 362
workflow::tw-test-status open 0
workflow::tw-test-status closed 0
workflow::validation backlog open 731
workflow::validation backlog closed 448
workflow::verification open 530
workflow::verification closed 7908
workflow::version promoted open 0
workflow::version promoted closed 0
Edited by Lee Tickett