Wikimedia Release Engineering Team/Phab process proposal

Chat log
(aka, "what made Greg type this up?")

17:57 <  csteipp> greg-g: Is there a phab team for QA specifically? hashar took releng off T89353, I wasn't sure if there's a better backlog to get that on.

18:01 <+  greg-g> csteipp: either is fine, we don't have a hard and fast rule on everything being in #releng

Current situation
We have a team project at #Release-Engineering-Team

We have a ton of software projects we maintain (#beta-cluster, #deploy-tooling, #browser-tests, etc, etc etc)

A task can be in any of:
 * Just #releng
 * Just some software project (eg: #beta-cluster)
 * Both in #releng and a software project

There is no consistency and status of a task (eg "in-progress" can be tracked in more than one project workboard).

Problems

 * Other teams don't know if we're working on something or if we plan on working on it any time soon.
 * It's hard to see what the entire team is working on (or at least, is saying that it is working on based on assignee status).
 * It's hard to see what the team is blocked on in one place.
 * We're tracking status (eg: "in-progress") on multiple workboards.

Proposal
Generally, be more "people focused" than "software focused".


 * Add any task you plan to work "soon" on to the #releng team project
 * Corollary: remove the #releng project to tasks we don't plan to work on any time "soon"
 * "soon" here is not precisely defined, and that's ok. Let's just not have tasks rotting in #releng that haven't been touched for months
 * All tasks should have a "home" project (some component) other than #releng
 * This is something like #beta-cluster or #deployment-systems, a specific and known set of software or service
 * If one doesn't exist then it should probably be created (is Greg's guess).
 * Use the #releng team project workboard to track work progress/status
 * eg: backlog, ready, in-progress, needs review, done
 * Use the #releng team board only for work tasks, not eg meta tasks
 * For quarterly goal/meta tasks, we have a couple options:
 * We could use something like #releng-goals project, or,
 * The #releng team board could have a special "Goals" column
 * Use the individual software project workboards to track type of work
 * IOW: remove the "in-progress" column (that's tracking work status in multiple boards, #releng + whatever project).
 * Why this is OK: Take task T97464 as an example. The "in-progress" information would show up where the red arrow is pointing in this screenshot.
 * The exact makeup of the boards can be defined per-project. We can come up with best practices for these later if need be.

Workboard Tips

 * Sometimes a "watching/externally blocked/stalled" column is useful
 * Having the default column be something like "To Triage" and then a "Triaged" column tends to be useful.