Jump to content

Abstract Wikipedia team/Product Development Process

From mediawiki.org

Overview

[edit]

The Abstract Wikipedia team plans work on a quarterly basis. This document outlines our product development practices—how we plan, make decisions, and manage projects. We strive for a robust development process so our team can be more resilient, and we can ship more predictably. We continuously iterate on these processes as we learn.

Planning Timeline

[edit]

Before the Quarter

[edit]

10 weeks before

[edit]
  • Create a tab for the new quarter in the roadmap spreadsheet
  • Product team starts building the proposed work list for the next quarter
    • Consult Phabricator and the Potential Bets section of the roadmap
    • Solicit ideas from the rest of the team (both feature and essential work)
    • Identify core team and roles
  • Product team sorts work into prioritized order and solicits feedback

8 weeks before

[edit]
  • For user-facing features:
    • Product and design drivers create a press release and PRD for each feature
      • Solicit feedback from the team:
        • Understand what we want to build for the user
        • Surface risks, gaps, and assumptions to validate
  • For non-user-facing features and essential work:
    • Drivers create PRDs and solicit feedback from the team
  • Iterate and clarify docs asynchronously

4 weeks before

[edit]
  • Create agenda for quarterly planning meeting (template)
  • Refine press releases and PRDs and fill in more detail
    • Finalize wireframes and sketches
    • Review for engineering feasibility and begin work breakdown and estimation

2 weeks before

[edit]
  • Hold quarterly planning meetings: usually 6 hours over 3 days (Tues, Weds, Thurs) – 2 hours each day.
  • Go over proposed press releases and PRDs for the next quarter as a team
    • Scoping, tradeoffs, and prioritization
    • Estimation and work break-down
  • Project logistics:
    • Determine which projects need work planning meetings and set them up on the team calendar
    • Set up Phabricator: create new board, create new Epics
    • Set up Asana board

Note: Identify overflow tasks and capture them in the scope for the following quarter so they are not lost when we update our project boards and meetings

During the Quarter

[edit]

First 2 weeks

[edit]
  • Weekly work planning meetings kick off, where we conduct deep dives to finalize scope, work break-down, and success metrics. Goal is to unblock the start of engineering work. Blockers, decisions needed, and scope changes are surfaced in Asana updates so they can be followed up on.

Throughout the quarter

[edit]
  • Recurring work planning meetings and OKR check-ins are synchronous venues where we do deep dives, unblock work, make decisions, and adjust scope as needed. Cancel any work planning meetings that are not needed for the week.
    • Refer to designated roles in the core teams (column K) when clarification is needed to reduce confusion
  • Make use of async collaboration in between work planning meetings.
  • Once work gets going, latest updates should be tracked in the work planning notes rather than the PRDs

Roles & Responsibilities

[edit]

Product Lead

[edit]
  • Organize and drive overall quarterly planning
  • Co-own overall product direction
  • Coordinate and drive major product launches
  • Usually a KR owner in the annual plan

Product Manager

[edit]
  • Drive specific features and projects
    • Clarify, unblock, rescope as needed to keep things moving towards goals
    • Communicate with team, stakeholders, and community on plans, progress, and outcomes
    • Analyze metrics and interpret data to determine success and develop actionable insights
    • Gather user feedback and follow up as appropriate
  • Owns backlog grooming and maintenance

Engineering Manager

[edit]
  • Drive team execution
    • Lead work break-down and estimation
    • Set up and run work planning meetings
    • Provide guidance on roles & responsibilities to reduce confusion and ensure smooth execution
    • Ensure decisions needed, blockers, scope change questions are captured in weekly updates and followed up on
    • Run weekly OKR meetings – status updates are in, track progress towards success metrics
    • Help resolve technical decisions, provide guidance and delegation to move projects forward
    • Communicate with team and stakeholders on progress, blockers, scope changes, goals
  • Oversee operations
    • Analyze and drive fixes for operational issues that impact execution
    • Identify and mitigate risks to our systems and processes
    • Drive and report on essential workstreams

Tech Lead

[edit]
  • Drive technical decisions
    • Clarify and provide context to engineers to help them make technical decisions
    • Key decision-maker for major technical changes
  • Provide technical guidance to engineers throughout development cycle
    • Knowledge transfer for major engineering activities to ensure resilience and continuity

Engineering Team

[edit]
  • Execute projects
    • Drive work they are responsible for during the quarter, communicating progress and raising issues as needed
    • Participate in deep-dives during work planning meetings
    • Help shape the work as we progress and learn, creating PRDs as needed to pitch new work

Embedded Teams (QTE, Design, Community)

[edit]
  • Execute projects
    • Drive work they are responsible for during the quarter, communicating progress and raising issues as needed
    • Provide guidance in areas of expertise to move projects forward
    • Drive specific areas of work as needed
    • Participate in quarterly planning, team meetings, and deep-dives as needed
    • Help shape the work as we progress and learn, proposing new work based on learnings

Matrix Teams (SRE, Product Analytics, Comms)

[edit]
  • Execute projects
    • Provide guidance in areas of expertise to move projects forward
    • Stakeholder in specific areas of work
    • Participate in regular check-ins with AW to coordinate work

Project Core Teams

[edit]
  • Driver
    • Ensure project is moving forward, bringing clarity to ambiguity
    • Involve the relevant product person in raising blockers, decisions needed, and potential scope changes
    • Involve EM in resource needs
    • Provide Asana updates
  • Core team executing on a project
    • Mandatory at work planning meetings

Meetings & Touchpoints

[edit]

Quarterly Meetings

[edit]
  • Quarterly planning meetings: usually 6 hours over 3 days (Tues, Weds, Thurs) – 2 hours each day.

Monthly Meetings

[edit]
  • Big-picture
    • How did we get to this vision of the future?
    • What delights you about this vision?
    • What scares you about this vision?
    • So, what should we do?
  • Product roundtable
    • This is a space for us to discuss aspects of our product/process that everyone in the team should be aware of (this meeting is still evolving)

Bi-weekly Meetings

[edit]

Weekly Meetings

[edit]
  • Team meeting
    • How are you feeling, and what are you working on this week?
    • General news & discussion topics
    • Do you need help or clarification with something?
    • Is there something you want to demo for feedback?
  • Work planning
    • Any deep dive topics? (Implementation details, acceptance criteria, success metrics)
    • Any issues that need to be surfaced? (Blockers, decisions needed, risks, scope changes)
  • OKR status
    • Review this quarter's projects on the Asana board:
      • Current status
      • Progress against success metrics
      • Review the risks, scope changes, decisions needed that were surfaced in work planning meetings