Productive Discussion: Difference between revisions
(Created page with Etherpad draft) |
(No difference)
|
Revision as of 10:40, 12 October 2013
Discussion framework for decision makers
Decisions happen all the time at Mozilla, and they range from big, public-facing choices to more simply choosing from a handful of bug fixes. This framework is being put together to help start and work through discussions. The idea is to support decision-making, and to suggest a path to finish discussions and communicate the results.
Before discussion
(would be good to have a single example decision, which we can create examples from)
Before a discussion is started, it is important to decide the topics to be discussed and find the right people to invite in. Discussions can certainly be held openly, but getting things setup first helps people focus.
Identify the issues
Scope
Discussions will often touch on different topics, and it is important to be clear about what the decision is, and why it needs to be made. To do this, try to set the scope of the discussion before inviting people to join.
Scope is what is needed to make a decision. This can include things like specific technologies (e.g. a code library) and broader discussion points (e.g. should we do this?)
Not in Scope is what is to be avoided during discussions. This means that there may be some particular things you do not want to discuss, because they are not about this particular decision.
Context is where the decision fits in with the rest of Mozilla. When starting a discussion, it is important to be clear about why a decision needs to be made. For example, if the decision is about fixing a problem, it is helpful for people to know what the problem is, and why it needs fixing.
Impact how much people or things (like features, code libraries, products) will be affected by a decision. When setting the scope of a discussion, make sure you think about the impact of the decision both by numbers of people and by size (e.g. will this completely alter something, or is it a small change?)
Timeframe is how long a discussion should take. Some decisions need to be made before a deadline, and others can take their time to get right. In any case, before you start a discussion, try to suggest a finishing time. This can be changed later if it needs to.
Turn decision into a question
The best way to start a discussion is to ask as simple a question as possible. The topics discussed will likely change, and more questions can be added later, but focusing on a single question will keep the discussion on-topic and lead to a conclusion that fits the problem.
When forming your question, ask yourself:
- Does the question sound like a decision has already been made? (e.g. "We're going to fix the problem like this, do you agree?)
- Can someone else help review the question before you send it?
- Am I willing to revise the question?
Find the people you should invite to the discussion
When selecting your invite list, it can be helpful to follow the "RACI" model:
- Responsible: people who need to make a decision
- Accountable: people who need to approve a decision
- Consulted: people who should join the discussion
- Informed: people who should be told about a decision once it has been made
To find Mozillians responsible for the decision, the best place to look is the module owner system.
For accountable people, make sure to consider the following groups, and ask yourself if they should be consulted:
List of common stakeholders:
- addons team
- partners
- press team
- documentation team
- privacy team
- security team
- ux team
- legal team
To include Mozillians who should be consulted, you should think about anyone who has knowledge which can help make a decision. Sometimes, this will be mostly the same people who are responsible and accountable. Other times, you will need to ask a wider group for help.
Mozillians who should be informed are those who are directly affected by a decision.
Some discussions might need a moderator, that is, someone who can help lead the discussion and keep it on track. The moderator can be the person who proposes a change, or it can be another person.
Decide whether consultation is needed
For small decisions, you may not need to start a discussion. However, the ask yourself the following questions to help:
How many people will the decision affect?
For example, if the decision affects 200 people, you need to consult.
How distant are the people being affected from the decision maker?
For example, if those most affected are part of different teams, you are likely to need to consult them.
Pick a place to have a discussion
Mozilla has plenty of different places to have a discussion, and choosing where to talk will depend on the topic and scope of discussion. It is important to avoid using places which can't be recorded (so try not to use video conferences, or just talking face to face).
Below is a list of places you can use, with some suggestions next to each:
- newsgroups/discussion forum (for broader discussions) ** post to dev-planning but set reply-to to a smaller mailing list for the discussion
- bugzilla (discussion if stakeholders are known)
- wiki (proposals)
- irc (discussion if stakeholders are known)
- etherpad (proposals)
- google docs (proposals)
NB: to keep Mozillians informed, it is best to put the results of a discussion back on the same place it was first announced. So, if you started a discussion on the wiki, make sure to put the outcome at the top of the wiki page.
Gather data
Many decisions require data to inform discussion. For example, you might need to know how many people currently use a feature.
You should have your question, and the scope of the decision sorted out before you start gathering data. That way, you are getting the right information to support the discussion.
The best way to gather data is to ask for help from these teams:
Start a discussion
Evangelise discussion
After you have chosen a place to have your discussion, you can invite people to join and tell people that it is happening.
The places above can be used, in addition to twitter, mailing lists and personal blogs.
Just remember to post the outcome of a discussion in the same place it's evangelised.
Hold your discussion
Kick off your discussion by posing your question, introducing your moderator (if needed), and outlining the scope and topics to be included. It is always a good idea to give people the reasons you are having a discussion, and try to explain how you see the possible outcomes.
Post your discussion in the medium you've chosen.
There are a few things you should keep in mind when holding your discussion:
Expect disagreement
Mozilla is a wide and diverse community, and people will definitely have different ideas from yours. It is not personal to disagree, even strongly, so try not to take it that way. If a discussion becomes uncontrollable or upsetting, it might be a good idea to invite in a moderator.
It is OK to ask someone to leave a discussion if they are causing problems, but it is not OK to ask someone to leave because they disagree.
Stay on topic
You've set a scope, and posed your question, so you have a good idea about what should be discussed. More importantly, the people who need to make the decision should. Now it is important to stay focused on the decision.
If a discussion gets too far off track, it is a good idea to summarise the points made, and ask how they relate to the question you've posed. This is also something a moderator can help with.
Not every point needs to be discussed at length.
Revise the question
Very often, discussions throw up new things which you didn't know when starting out. It is often a very good idea to re-think the question posed, and change it.
Finish a discussion
A discussion is usually finished when a decision is made. Some discussions lead to no decision, and should be stopped because of time, or because they have found that a decision requires a different discussion.
Draw the discussion to a close by summarising the points made, and letting people know that it is finishing.
Make sure to inform people by telling them what the decision was, and summarise the discussion to tell them why. Because the discussion should happen on a recorded place, you can also include a link to the discussion. You should do this any place you announced the discussion.