Abstract Wikipedia team/Product Development Process
Overview
editThe 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
editBefore the Quarter
edit10 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
- Solicit feedback from the team:
- Product and design drivers create a press release and PRD for each feature
- 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
editFirst 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
editProduct 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 (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- Driver
- Ensure project is moving forward, bringing clarity to ambiguity
- Involve product 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
editQuarterly 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
editWeekly 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: