User:APaskulin (WMF)/Sandbox/Decisions

The Wikimedia technical decision making process connects stakeholders in the Wikimedia Foundation, affiliates, and the volunteer community in order to make technical decisions.

Questions and feedback

edit

Questions and feedback are always welcome. Contact us at tech-decision-forum-support@wikimedia.org.

Templates

edit

The technical decision making process uses these templates to document and guide decisions.

Process

edit

The Wikimedia technical decision making process should be used in any circumstance where the impact of the decision will be felt beyond the team making that decision. This especially includes decisions that have a significant impact code and software deployed on Wikimedia production infrastructure.

 

1. Identify the decision team and project owner

edit

The decision team is the group of people driving the decision. In most cases, the decision team is a Wikimedia Foundation team, affiliate team, or volunteer group. It is crucial that the decision team has the authority and the resources to act on the decision.

If a decision has a wide impact, the decision team can be made up of people from different teams. For example, the decision to implement Vue.js was made by a cross-functional working group.

The project owner is the member of the decision team responsible for guiding the decision through the process.

2. Define the problem statement

edit

To start the decision making process, use the problem statement template to open a task on the Technical Decision Making board in Phabricator.

3. Get feedback from Decision Forum chairs

edit

During this step, the Forum chairs have one week to review the problem statement and provide feedback to the decision team.

Role Responsibilities
Forum project manager
  • Copy problem statement into a Google Doc using the problem statement template
  • Share the Google Doc with the Forum chairs and project owner
Forum chairs
  • Review the problem statement within one week
  • Leave comments and questions on the Google Doc
Project owner
  • Respond to comments on the Google Doc

4. Get feedback from the Decision Forum

edit

The Problem Statement is shared with the Technical Decision Forum by adding a phabricator ticket to the Decision Forum Inbox. The Project Manager of the forum will monitor phabricator and send process emails to the forum when there are new overviews.  

The Technical Decision Forum is made up of people representing individual teams, organizations or volunteer groups. The Forum is chaired by a representative from the Technology Department and one from the Product Department, the chairs are rotated on a quarterly basis. Teams may rotate their representation as needed, but the expectation is that feedback on the artifact can be provided within a week. The feedback requested at this point is as follows:

  • Is the problem statement correct?
  • Is it clear how solving this problem moves forward our organizational goals (supports, Movement Strategy, the Medium Term Plan, Annual Plan, etc…)?
  • Are these the right stakeholders?
  • Is the needed subject matter expertise to make a decision reflected accurately? Are the right groups outlined in the overview?

5. Research and prototype

edit

Once the Problem Statement is confirmed with the Technical Decision Forum, the Decision Team begins work and demos/checks in with the Technical Decision Forum every two weeks. Here is where options and solutions are developed. This phase should be scoped and timeboxed. At the check-in they demo progress being made to inform the decision. This is the time where stakeholders are engaged with, further models are developed and prototyping occurring as needed.

Note: Demonstrations do not have to be prototypes with UIs. They could be a summary on progress on a document, pseudo code or anything else that helps others see where the team's progress and thinking is at that time.

Executive review

edit

For larger, more impactful decisions, system-level tradeoffs or decisions that greatly impact the community, demonstration of the overview is done for relevant executives, typically the Chief Technical Officer (CTO) and Chief Product Officer (CPO). The CTO and CPO will delegate a representative that will review the Problem Statement and flag for review with the CTO and CPO when it is believed it might meet the requirement for Executive Review.

6. Make the decision

edit

Once the Decision Team has engaged all the stakeholders outlined in the Problem Statement and reviewed with Executives (as required) the team can make the decision.

7. Publish a decision record

edit

Once a decision has been made it is published on MediaWiki here.

Tools

edit
  • Phabricator
  • mediawiki.org
  • Google Docs
  • Google Forums
  • Google Groups
  • Google Meet
  • Wikimedia Foundation Slack

Roles

edit
  • Decision Team
  • Decision Forum
  • Project manager