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
Questions and feedback are always welcome. Contact us at [mailto:tech-decision-forum-support@wikimedia.org tech-decision-forum-support@wikimedia.org].

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

Process
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
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.) Min size? Evaluate as part of problem statement?

2. Define the problem statement
To start the decision making process, use the problem statement template to open a task in Phabricator. Fill out the what and why of the problem you're trying to solve. You can check the status of your task on the Technical Decision Making board.


 * Define the problem or opportunity (WHAT).
 * Outline the importance of addressing the problem or opportunity (WHY).

3. Get feedback from Decision Forum Chairs
Once the decision team opens the task, the Technical Decision Forum Project Manager shares the problem statement with the Decision Forum Chairs for review. The Decision Team is expected to respond to comments left by the Decision Forum Chairs.

4. Get feedback from the Decision Forum
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
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
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
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
Once a decision has been made it is published on MediaWiki here.

Tools

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

Roles

 * Decision Team
 * Decision Forum
 * Project manager