GitLab Quad Planning Process

This improvement to our planning aims to align GitLab's product and engineering process to include our modern take on the three amigo process.

In the world of scrum/agile/devops, the leading principle of baking software quality in early is to involve test expertise much earlier in the planning cycle. This process is known as the three amigos. This is the industry standard for teams that ship high-quality software.

We initially had a brief mention of this when rolling out the new Product Development workflow https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/25877/diffs?diff_id=48249938&start_sha=d516573e0683e1bf9df842d75c3923d29013f78c#2e3fd5ad1348b4a72833e2785a0b4d41dc6ca282_49_49. This iteration evolves the process further with clear actionable items and measurement.

Plan

We currently have the trio dris that are engaged in product planning https://about.gitlab.com/handbook/product/#pm-em-and-ux-trio-dris. This plan evolves the trio into quad to include Software Engineers in Test (SET/SDET).

  1. Product Managers
  2. Engineering Managers
  3. UXers
  4. SETs

These 4 areas are the main pillars to ensure we can continue to ship features while ensuring optimal test coverage. Velocity is only productive when we don't incur test debt. We want to be nimble while shipping less bugs thus improving our own velocity. One can look at the metaphor of the 4 legs of the Tanuki, without either one of it's legs the Tanuki isn't able to run as fast.

Screen_Shot_2020-01-19_at_9.15.28_PM_copy

Counterpart mapping

SET Product Group PM UXer Backend EM Frontend EM
@mlapierre groupsource code @jramsay @pedroms @m_gill @andr3
@sliaquat ~"group::access" @jeremy @amandakhughes @lmcandrew @dennis
@tmslvnkc groupknowledge @cdybenko @jareko @dsatcher @rkuba
@wlsf82 groupproject management @gweaver @hollyreynolds @johnhope @donaldcook
@dchevalier2 groupimport @hdelalic @dmoraBerlin @lmcandrew @dennis
@a_mcdonald ~"group::editor" @phikai @mvanremmerden @dsatcher @rkuba
@ddavison grouporchestration @danielgruesso @tauriedavis @nicholasklick @ClemMakesApps
@zeffmorgan grouptesting @jheimbuck_gl @jj-ramirez @erushton @dcipoletti
@treagitlab ~"group::continuous integration" @jyavorska @dimitrieh @crystalpoole @dcipoletti
@svistas groupapm @dhershkovitch @nadia_sotnikova @mnohr @ClemMakesApps
@grantyoung ~"group::memory" @joshlambert @jackib @craig-gomes
@jennielouie groupgeo @fzimmer @sunjungp @rnienaber @rnienaber
@niskhakova ~"group::ecosystem" @deuley @lvanc @nhxnguyen @nhxnguyen
@ebanks ~"group::search" @phikai @mvanremmerden @changzhengliu @changzhengliu
W.M. April 1st groupcomposition analysis @NicoleSchwartz @kmann @gonzoyumo @leipert

Expectations

SETs

When the feature proposal issue moves into workflowplanning breakdown. SETs owns the completion of the Availability and Testing section in the Feature Proposal to complete the definition of done. As we grow to reach our desired ratio, we will only have the quad approach in groups where we have an assigned SET in place.

  1. Assign the issue to yourself if the PM hasn't initiate this and the issue should be multi-assigned along with the counterpart UXer.
  2. SET is the DRI for the Availability and Testing section, ensuring that the strategy accounts for all test levels and facilitating discussions and feedback with the group.
  3. SET determines if the feature change needs to run package-and-qa regression job, this is made clear in the above section.
  4. SET applies the ~"quad-planning" label and unassign themselves from the issue.

QEMs

For Quality Engineering Managers please:

  • Review the assigned product groups here and sign-off.
  • You should already be doing some prep and socializing with the EMs, and PMs in the groups above mapped to your team's charter.
  • As these issues get tackled please make sure these are surfaced on your team board so you can see the overall activity of your counterpart teams and help/assist/unblock your SETs

Eng Prod

  • Engineering Productivity will be helping spinning up GitLab Insights dashboard to visualize how many feature issues have ~"quad-planning" per release. gitlab-org/gitlab-insights#160 (closed)
  • Dashboard will drill down to each of the product group so we know which area needs more help and hot spots.

Tasks

Measurements

To ensure that we can measure our area of coverage, we will be looking at issues with ~feature Deliverable or ~planning-priority in a given milestone.

To measure our effectiveness, managers in Quality Department will:

  • cross analyse bug creation rate, compare each group with how quad planning with tests are working.
  • Iterate on our process focusing on areas that need help.
  • As these issues get tackled please make sure these are surfaced on your team board so you can see the overall activity of your counterpart teams and help/assist/unblock your SETs

cc @gl-quality/managers

Edited by Mek Stittri