Team Practices Group/2016-04-04 best practices

From mediawiki.org
The Team Practices Group (TPG) was dissolved in 2017.

Joel, Grace, Kevin

Purpose[edit]

Several teams have come to us asking how to best set up Phab boards for their projects. What should TPG's Best Practice response be?

Joel has a bunch of started-and-not-finished documentation, re: TPG, Collab-Tech, other teams. Grace tends to point to a few examples (TPG, DarTar, Analytics).

Agenda[edit]

Potential agenda ideas[edit]

  1. What is the range of common boards (e.g. Kanban, Scrum, services, etc.
  2. For each board, what is the context that makes it a best practices
  3. Pick a best example for each category
    1. existing team's board
    2. no existing team has a good example/is happy with their own board, so wait
    3. Invent our own dummy board and drive people to it
    4. Existing teams probably aren't fully using sub-projects and milestones
  4. What documents do we want to point to, and maintain?
    1. What is the TPG portal location?
    2. https://www.mediawiki.org/wiki/Team_Practices_Group/Proposal_for_work_categorization
    3. https://www.mediawiki.org/wiki/Phabricator/Project_management#Organizing_your_projects
    4. https://www.mediawiki.org/wiki/Phlogiston

Agenda[edit]

  1. Timeboxed 20 minutes to work through the above topics (roughly 5 minutes per)
  2. Use that to come up with a plan (including go/no-go)

GO![edit]

  1. What is the range of common boards (e.g. Kanban, Scrum, services, etc.) and what is the best example of each?
    1. Scrum
      1. Use if: Pure development, dedicated team, have roles staffed (especially, have a ScrumMaster), have some control over backlog 4+ weeks out
      2. What board design and process do we recommend if no scrummaster?
      3. Android? when it's stable in Q4
      4. Community Tech? https://phabricator.wikimedia.org/tag/community-tech/ and https://phabricator.wikimedia.org/tag/community-tech-sprint/
    2. Kanban & JIT tasking:
      1. Use if: subject to interruptions, or very mature team that doesn't need Sprint mechanism to commit to work and focus
      2. Analytics https://phabricator.wikimedia.org/project/view/1030/
        1. a bit hosed right now because column counts are broken.
      3. backlog: https://phabricator.wikimedia.org/project/view/11/
      4. UI Standardization https://phabricator.wikimedia.org/project/view/1806/
    3. Scrumban
      1. Use if: want to do Scrum but don't meet all pre-requisites
        1. Discovery
          1. They each have a backlog/sprint pair similar to TPG
        2. The backlog half of each is currently in flux, being populated from the original monolithic https://phabricator.wikimedia.org/tag/discovery/
      2. Analysis: Sprint: https://phabricator.wikimedia.org/project/board/1241/ Backlog: https://phabricator.wikimedia.org/project/view/1850/
      3. Search: Sprint: https://phabricator.wikimedia.org/project/board/1227/ Backlog: https://phabricator.wikimedia.org/project/view/1849/
      4. Portal: Sprint: https://phabricator.wikimedia.org/project/board/1235/ Backlog: https://phabricator.wikimedia.org/project/board/1899/
      5. TPG: Backlog https://phabricator.wikimedia.org/tag/team-practices/board/ Sprint:  https://phabricator.wikimedia.org/project/view/1105/
    4. Horizontal/embedded/Service (e.g. TPG, DR)?
      1. Use if: team does most of its work on other boards belonging to other projects, and has team-specific work
      2. DR backlog: https://phabricator.wikimedia.org/project/view/1307/
      3. DR https://phabricator.wikimedia.org/project/view/839/
      4. OIT quals match Kanban more closely, but maybe matches this because most of their work is in a ticket tracking system.
      5. TPG: Backlog https://phabricator.wikimedia.org/tag/team-practices/board/ Sprint:  https://phabricator.wikimedia.org/project/view/1105/
    5. Broader discussion around boards:
      1. Possible organizing principle: should have two main boards, one for by-phase and one for by-category.
      2. Possible next work: complete Use Cases for work tracking within WMF projects
      3. Pointing to a board, without understanding the associated workflow and processes, might not be helpful
      4. Premise that we can recommend a board template depends on assumption that team has process close to board SOP
      5. Is this meeting shifting from "Team has a process, wants to set up a board" to "Team wants to know what process they should use"?
    6. Documentation
      1. Shouldn't start with documents, too off-putting, start with discussion
      2. What is our reference doc for people to use?  Is there a need for this?
      3. need to separate different users: developer, end-user, PO, admin, etc.

Potential next steps[edit]

  1. Update our knowledge on how to use newest Phab Pheatures
    1. Joel could present on this to TPG?
  2. Complete the Phab Use cases (proposals for work categorization)
    1. Checking them against a broad pop of users
    2. differentiated for different project methodology patterns (scrum, kanban, etc)
  3. Completing inventory of existing examples
  4. testing best practices example candidates against use cases
  5. Writing a friendly HOWTO apply phab to your project (depending on methodology)
    1. Should the doc include the phrase "Go talk to TPG"?
  6. update our docs related to sub-projects and milestones