Reading/Web/Phabricator

For project, workflow and task management the Reading Web Team uses Phabricator. Here you can find some documentation about how we use it, and which boards we're working with.

Projects/Boards

 * Team dashboard (For triaging and urgent tasks).
 * A high level overview planning board (Quarter goals and epics)
 * A board per software artifact (MobileFrontend, Gather, TextExtracts, etc. See dashboard for the list).
 * A general Reading Web board for tasks or bugs that can't be classified in the other software projects.
 * A board per sprint (Example, sprint 53).

Workflow
We use project classification and setting the task's priority to organize our work (harnessing the power of Phabricator search). As a secondary method we use the project's boards to sub-classify tasks, but not on all boards, only in the biggest ones.

Tasks that need the team's attention to set a priority need to be on the Needs triage priority. Then the team will have a look and chime in, and assign a priority based on several factors (urgency, workload, need for discussion, etc). Priority should be set by people intending to work on the task or by product owners prioritizing for engineers to work on it.
 * Unbreak now! tasks will be moved to the current sprint and worked on as soon as engineers are available.
 * High priority tasks will be reviewed when planning following sprints and will likely be tackled soon.
 * Normal priority tasks will be reviewed when the backlog of High priority tasks is low, and will be promoted to High if we're planning to work on them next.
 * Low priority tasks likely need to be discussed or are not an immediate priority for the team.
 * Lowest priority tasks most probably need to be fleshed out and discussed or are far from getting in to the teams work load in their current state.

Triaging
For triaging we use the Team dashboard in order to have the same triaging query for the whole team. We go through the Needs Triage panel and talk and classify the tasks.

High level overview
The product owner maintains a high level overview planning board that contains the goals of the quarter and the epics that are being worked on every sprint.

This board serves the purpose of easing planing, and providing a high level overview of the teams work and organization to external stakeholders.

Goal tasks group several Epic tasks, and Epic tasks group multiple actionable tasks & bugs that will get moved from backlog to sprint when needed.

For tracking the state of a Goal or Epic, look at it's blocked tasks and see how they are faring.

Classifying tasks
When triaging tasks, we'll assign projects to it based on which software projects it affects, or #reading-web if it doesn't fall into any other software projects. If the task is an epic, we'll add the #epic project.

If possible, we'll assign a priority to the task, and ping/subscribe/comment on it to keep moving it forward.

Sprint planning
Every sprint we'll have a new board where we'll track our work for that sprint. Such board will be populated from the different backlogs, tasks that are in High priority and from tasks spawning from Epics on the reading web planning board.

At the end of the sprint tasks will be moved to the next sprint or moved back to the backlog if they need to be put on hold.