Wikimedia Cloud Services team/Decision Making
Sometimes making decisions is hard, and sometimes you just need a decision made. This is a social agreement between the members of the team to follow and commit to the following decision process:
When do you have autonomy to decide?
edit- If you are responsible for the decision* -> Communicate + you have autonomy to make the decision (err on the side of communication)
- If you think that the task is going to take >5 days (1 working week) -> engage
Example: If the task is maintenance on existing work and has little to no user impact (e.g. upgrades, refreshes, cluster expansions, etc. etc.) and takes less than 5 days -> Just do it.
- If you think that the scope is going to affect any of the other teammates current tasks -> engage on the decision process
- If the task is reactive (addressing security concerns or outages) -> Communicate but do not delay for the decision process, once the urgency is dealt with, reevaluate.
- Otherwise -> Communicate + you have autonomy to make the decision.
* The responsibility for the decision comes when you are made directly responsible for a project that is assigned when starting/planning a project.
How does the decision process go?
editNOTE: If you have autonomy, then it's up to you to decide when/how/who to consult or get involved, following this process is still recommended for technical discussions and decision record keeping, specially for architectural/big decisions.
Otherwise:
- Create a task in phabricator with the tag #wmcs-proposals, and share with the team/publicly for a week (via email to cloudservices@wikimedia.org and bullet point in weekly meeting), pre-filled task creation url here (also linked from the bottom of the cloud-services-proposal project description).
- If there were any questions/concerns, gather those and start an exploration for another week (experiment/docs reading…)
- Write down all the discoveries as an enhancement proposal on wikitech, at this point it should be written in a specific format (see below).
- If there's no obvious agreement, create a meeting and invite the team, share the status of the proposal and make a decision (Wikimedia_Cloud_Services_team#Documenting_a_decision: see below).
- Record the decision (see below for documenting it) – any phab task or email thread in process should be resolved with a link to a wikitech page documenting the decision under ‘enhancement proposals’
- Enhancement proposal docs can link to operational instructions but should NOT contain them! They go other places (runbooks, etc)
Decision meeting
editThis will happen in a synchronous meeting, created by the proposer of the decision, with the format:
- Time boxed, 40 min
- A decision will be made by the end of the meeting
- 5 min before the end, the present people will cast a vote
- The creator/proposer commits to driving the meeting towards a conclusion (and is permitted and encouraged to interrupt distractions or derailing conversations as needed)
- When no consensus happens (less than 60%)… the decider decides (decider is, in order of priority, Tech lead, team manager, idea proposer).
Documenting a decision
editCreate a new page under enhancement proposals using this template:
You will be able to copy most of the contents of the task into the wiki page and just fill up the missing bits.