MediaWiki Platform Team/Phabricator structure
This page outlines how we use Phabricator to manage OKR work within the MediaWiki Platform team.
Boards
[edit]Main workboard
[edit]Day to day delivery for the team is managed on the main MediaWiki-Platform-Team workboard. This is intended to include in progress and upcoming work, including work that still needs some level of refinement before development can begin.
The primary columns on this workboard are:
- Inbox: This is the default column and is used as a holding area for tasks that still need to be triaged by the team.
- Needs refinement: Tasks that we intend to work on over the current quarter, but that we have not yet discussed as a team.
- Next: Tasks that have been refined/broken down/estimated or are otherwise already ready for development.
- In progress: Tasks that we are currently actively working on, with every ticket having an assigned owner.
- Blocked/waiting: Tasks that should be in progress, but are blocked for some reason (e.g. waiting on another team).
There are also secondary columns:
- Backlog: Tasks that we have triaged and would like to do at some point, but do not expect to work on in the near future. It is a good source of work for volunteer contributions.
- Radar: This is a milestone project that we move tasks to that we would like to maintain awareness of, but where the work is being done by another team.
- Roadmap: This column is still a work in progress, but is intended to contain high-level tasks within a milestone project used for longer term planning.
Key result workboards
[edit]We create a top-level project for each Key Result, which we use to plan hypotheses and high-level epics for delivering the KR. An example of this is the board for WE5.1 in FY25-26.
The columns on a KR workboard are:
- Inbox: This is the default column and is used as a holding area for tasks that have not yet been placed in the appropriate column.
- Hypotheses: A separate column for each hypothesis within the key result, which contains the high-level epics we will work on to deliver the hypothesis.
- Next: A list of the epics from across all hypotheses that we expect to work on next.
- In progress: The epics from across all hypotheses that we are currently working on.
Task hierarchy
[edit]Hypotheses
[edit]We create an overarching task for each hypothesis within a key result, which only lives on the board for the KR and is not added to the main workboard.
Hypothesis tasks have the following structure:
- Hypothesis: The full form of the hypothesis from the annual plan.
- Context: Background information that enables someone unfamiliar with the annual plan to understand the hypothesis.
- Target outcomes: The outcomes that we are trying to achieve with this hypothesis.
- Success criteria: The measures that we will use to determine whether the hypothesis is confirmed.
They are tagged with:
- The project for the KR
- Goal
- OKR-Work
Epics
[edit]We create high-level epics to represent each of the workstreams or initiatives that are involved in delivering the hypothesis. These are added to the main workboard for refinement, then can be removed once broken down into tasks ready for development.
Epic tasks have the following structure:
- Hypothesis: The full form of the parent hypothesis that this epic is part of.
- Context: Background information that enables someone unfamiliar with the annual plan to understand how the epic contributes to the hypothesis.
- Scope and constraints: An outline of things that we know are in scope, out of scope or otherwise constrain the work to be done.
- Success criteria: The measures that we will use to determine whether the epic has been completed.
They are tagged with:
- The project for the KR
- The parent hypothesis
- Epic
- OKR-Work
Tasks
[edit]When epics are refined by the team, they are broken down into tasks that we add to the main workboard. These tasks should be small enough that they can be clearly owned by an individual and do not become long-lived.
There is no defined structure or level of information defined for this level of task, leaving this up to the discretion of the person assigned to the task. However, they should be a subtask of their parent epic and ideally be tagged as OKR-Work.