Abstract Wikipedia team/Product Development Process
Appearance
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]5-6 weeks before
[edit]- Create a tab for the new quarter in the roadmap spreadsheet and copy over the Potential Bets backlog from last quarter
- Product team starts building the proposed list of work for the next quarter.
- Consult Phabricator and the Potential Bets section of the roadmap
- Create new PRDs from the template, and fill out only the “Problem Alignment” section.
- [Q3 FY25 Note: for bigger features, we are also trying the PR/FAQ template for "working backwards"]
3-4 weeks before
[edit]- Product team refines PR/FAQs and PRDs, and prioritizes them in the roadmap spreadsheet
- Solicit feedback from the team as needed as we refine our understanding of what we're building for user
- Create agenda for quarterly planning meeting (template)
1-2 weeks before
[edit]- Quarterly planning meetings: usually 6 hours over 3 days (Tues, Weds, Thurs) – 2 hours each day.
- OKR scoring, retroactive estimation, and retro for the current quarter
- Go over proposed PRDs/PRFAQs for the next quarter as a team
- Understand what we want to build for the user
- Surface risks, gaps, and assumptions to validate
- Scope, estimate, and prioritize
- Work break-down and investigative spikes
- 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. Actively cancel any work planning meetings that are not needed for the week.
- Make good 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
- Schedule planning meetings and create agenda (template)
- Create a tab for the new quarter in the roadmap, pre-populate with work we know we’ll do and potential bets from previous quarters + Phab backlog. Solicit team input and PRD drafts
- Organize and drive pre-work: prepare and send pre-reads, solicit feedback on draft PRDs
- Run quarterly planning meetings
- Propose and adjust planning process as we learn
- Collaborate with Denny on long term plans and direction for the team
- Coordinate and drive major product launches
- Usually a KR owner in the annual plan
Product Manager
[edit]- Drive specific features and projects
- Create PRD and align team on the work
- 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
- Drive strategic use of Phabricator to make the team more productive
- Usually a hypothesis owner
Engineering Manager
[edit]- Drive team execution
- Lead work break-down and estimation
- Set up and run work planning meetings
- 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
- Can be a hypothesis owner
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
- Can be a hypothesis owner
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 (SRE, QTE, Design, Community)
[edit]- Execute projects
- 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
Project Core Teams
[edit]- Core team executing on a project
- Mandatory at work planning meetings
- Shared responsibility for communicating updates and raising blockers, decisions needed, potential scope changes
Meetings & Touchpoints
[edit]Quarterly Meetings
[edit]- Quarterly planning meetings: usually 6 hours over 3 days (Tues, Weds, Thurs) – 2 hours each day.
- OKR scoring, retroactive estimation, and retro for the current quarter
- Go over proposed PRDs/PRFAQs for the next quarter as a team
- Understand what we want to build for the user
- Surface risks, gaps, and assumptions to validate
- Scope, estimate, and prioritize
- Work break-down and investigative spikes
- Determine which projects need work planning meetings and set them up on the team calendar
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
- Review this quarter's projects on the Asana board: