WMF product development process

Overview
Wikimedia Foundation Product Development has a set of phases that centers on tasks and potential stakeholders involved. The high level draft presented is a set of tasks and stakeholders involved in our current and future development. This was evolved from an earlier draft review that incorporated feedback from multiple processes and expectations.

The tasks and stakeholders presented are a general guideline and potential checklist. Each team may have its own mix of responsibilities or stakeholders, and some phases may not apply. Community involvement or interaction is expected throughout the phases, ideally through established team or feature feedback mechanisms and in collaboration with our Community Liaisons.

What problems does this solve
We support many types of development. People have different ways of doing development both internally and external to the Foundation. Inconsistency and quality of the projects could be an issue. A general set of checkpoints that reflect how we evaluate, review and release software can help improve confidence, security, experience, legal issues, code quality, performance, timely release and inclusion.

Product checkpoints
These checkpoints are used both for development of whole products (months to years) and features within products (days to weeks), so this chart represents an agile software development process. Once a product or feature enters the maintain phase, new understanding, concepts or features may be identified and start the whole process again. The key element is analyzing and learning from both user feedback and quantitative data to inform product development.

To illustrate a better model of iteration across the whole set of checkpoints we include this additional element. The table above is used to talk to the data points involved and that is hard to include in a cyclical design like below. There are still many chances for iteration in each of the checkpoints. We also provided an additional diagram to show how time may factor in for each checkpoint.

Understand
Generative research and a checkpoint where you get to know users and their context. This is where you define problem & opportunities and analyze and synthesize (see patterns, gain insights) understanding. Undrstanding could come from anyone but generally are from our Community members, Community Liaisons, internal Product Audiences, Design Research, Research & Data, Partnerships and Communications.

Concept
New feature proposals and submissions for current problems or new ideas. These items could involve or be generated from areas like general discovery or ideation, research, technical debt and/or strategy. Submissions could come from anyone but generally are from our Community members, Community Liaisons, internal Product Audiences, Design Research, Research & Data, Partnerships and Communications.

Plan
Planning and prioritization involve defining the inputs (people, forecasting, resources), outputs (tasks), outcomes (metrics), defining milestones, dependencies and maintenance tasks. These tasks are generally driven by Product Managers, Engineering and User Experience and may include participation, validation or checkins with Communications, Team Practices, Security, Community Liaisons, API/Services, Release Engineering and Legal teams.

Develop
Backend and front-end development takes place and carry the selected concept forward to implementation. Quality and performance are important checks. If any issues or bugs are found the feature may roll back to Design depending on the severity of issues found. Testing via labs, prototyping, a/b tests, surveys, flow analysis, user sessions, and community validation of progress. The tasks are generally driven by Product Managers, Engineering and User Experience and could include participation, validation or checkins with Research & Data, Architecture and Operations, Data Analyst, Community Liaisons, Operations, Team Practices, API and Services, Performance and Architecture. Bugs, analysis and feedback in this round can send features back to the design phase.

Release
Reviews by dependent stakeholders from the concept stage to validate concept completion. Community review and initial feedback on the development may influence release & rollout timing. Teams will be analyzing performance and adoption. If any issues or bugs are found the feature may roll back a stage or two depending on the severity of issues found. Announcements or events may also be created around releases. These tasks could apply to alpha, beta and production level feature releases. The tasks are generally driven by Product Managers, Communications, Community Liaisons, Release Engineering and could include participation, validation or checkins with Operations, Legal, and Security. Bugs, analysis and feedback in this round can send features back to the build phase.

Maintain
After a feature is released ongoing maintenance is measured through feedback loops and analysis, retrospectives, metrics and impact reviews and identification of improvements. Community review and feedback on real usage and interaction is measured and teams will be analyzing performance and adoption. Improvements or new features restart the process and planning and milestones will be created. The tasks generally driven by Product Managers, Performance, Data Analysts, Design Research, Research & Data, Community Liaisons and Security. Any iterations to the product will result in the process restarting.

Current product roadmap

 * Current product development and roadmaps are available by product audience.

Related projects

 * Team Practices Group is leading a more detailed effort to restructure how the WMF plans and executes software engineering, known as the SPDPP (Software Product Development Process Proposal). Engineering, Product departments and the Team Practices group, will contribute to this draft as it evolves. Team Practices Group also leads ongoing projects to measure what fraction of team effort is dedicated to maintenance and to promote burnup charts for documenting team progress.
 * Community Engagement is working with the teams to develop a set of Design and Development Principles.
 * Several verticals are working on alternate ways to perform quarterly planning (c.f. Reading, Editing)
 * Security and Privacy integrated in the WMF product development process.