Team Practices Group/Proposal for work categorization

Proposal

 * 1) During triage, categorize all work with one of two tags, "TPG-FY2016Q3" or "TPG Essential Functions".
 * 2) do one-time catch up on existing work
 * 3) When we close tasks, try to categorize them at a more detailed level using the Milestone Parent hack.
 * 4) Also keep the top 5 items in the Team-Practices backlog sub-categorized
 * 5) Can optionally categorize more, but not required
 * 6) This information will be used:
 * 7) by Kristen at all scanning the Work Boards at planning
 * 8) in Phlogiston reports that we can review in, for example, retros

Ways to Categorize
Teams at WMF categorize their work in a variety of ways. The two most common logical ways to categorize are by feature (e.g., "Infrastructure monitoring", "Android UI") and by state of work ("In Design", "In Testing", etc). These approachs are realized in Phabricator with great diversity. This section describes the technical choices for implementing categorization:

By Project
Each task is assigned a project.

Pro: Only way to see two different categorizations at once in Phabricator UI. Typical use: One project holds all tasks, with each column on the workboard representing a state. Other projects designate each feature category, so that the project tags on the task cards show feature categorization.

Con: Assigning tasks to categories requires five actions (edit card, click in Project field, type part of category name, click on the match in the list, click save).

By Project Column
Each task is assigned to a column within a project.

Pro: changing category requires two actions (click, drag).

Con: This information is only visible on the project workboard. When the task is viewed in other contexts, category is not visible (on other boards, the project is visible in the card but not the column. In query results, neither is visible.

By Milestone Parent
Each task is marked as "Blocking" a task in the "Milestone" (or blocking a task that blocks a task etc etc until a Milestone is blocked.

Pro: Many teams already organize many tasks by this relationship, so little to no extra effort is required.

Con: Category is almost completely invisible in Phabricator, can only be visualized in derived (Phlogiston) reports. Overloads the "blocked by" relationship.

TPG case study in using sub-projects to sub-categorize
We identified several different ways we could use sub-projects to categorize TPG work. All options preserve the current practice of using "Team-Practices" as "Team-Practices-This-Week" as status boards, with columns representing different status choices; the new categories would be in addition.

As of 2 Mar 2016, Option 2a is recommended for consideration by the rest of the team.

Option 1: Subprojects, including Quarterly Goal
All work is tagged either "Team-Practices" or "Team-Practices-This-Week", and work that relates to the quarterly goals is also tagged "FY2016Q3".

TPG - Team-Practices - Team-Practices-This-Week - FY2016Q3 (untagged)

Treat everything untagged as "Essential Function" Con: can't tell the difference between "untriaged" and "triaged to Essential Function")

Option 2: Subprojects, including Tag Quarterly Goal vs other
All work is tagged either "Team-Practices" or "Team-Practices-This-Week", and all work is tagged either FY2016Q3 or "Essential Functions".

TPG - Team-Practices - Team-Practices-This-Week - FY2016Q3 - Essential Functions (untagged)

Pro: It's possible to search for "TPG" and get all tasks belonging to all sub-projects. Con: may be hard to undo sub-projects if we change our mind

Option 2a: Use Projects but not Sub-projects
All work is tagged either "Team-Practices" or "Team-Practices-This-Week", and all work is tagged either FY2016Q3 or "Essential Functions".

- Team-Practices - Team-Practices-This-Week - FY2016Q3 - Essential Functions (untagged)

Option 3
All work is tagged either "Team-Practices" or "Team-Practices-This-Week", and all work is tagged with one of the goal-specific tags.

TPG - Team-Practices - Team-Practices-This-Week - FY2016Q3 - Core Fraction - TPG Strategy - CSAT - FY2016Q4 - Core Fraction - TPG Strategy - etc... - Essential Functions - ... Practices ...   - etc ...

Pro: Detailed categorization is performed at the same time as simple categorization; no need for Parent/Milestone categorization. Con: Extra cost to use and maintain all of the sub-projects

Use cases for work categorization
The proposal should satisfy use case 1, a little bit of 3/3a, and part of 5.

1) As a team work planner, I need to know how much work is not goal-related so that in crunch-time I can de-prioritize it.
Work planner could be manager or could be team member self-planning.

Work = active or planned work.

Goal could be quarterly goal or other work.

2) As a team manager, I need to make weekly reports so that I can meet managerial requirements.
=== 3) As a team planner in a weekly planning meeting, I want to know how much capacity we have for new work in the next week and how close we are to deadlines so that I can defer non-deadline work. ===