Driving Consensus: a framework
There’s a pull request or an architectural decision that is being questioned by a teammate during a meeting. This suddenly opens up a barrage of arguments and counter-arguments by the rest of the team. 45 minutes later, the discussion is still going in circles and no decision has been made. Everyone is unhappy and progress cannot be made until there’s a decision and a way forward.
This example is painfully familiar to many of us. It is missing a key element that can save the team from this pain and help pave a path forward - Consensus Building. This is an important skill for a senior software engineer (and for engineers trying to grow into the role).
What is Consensus Building?
A decision-making process in which a team works together to reach an agreement that everyone can support or accept. Unlike simple majority rule, where decisions are made based on the majority of votes, consensus building seeks to find a solution that considers the concerns of all participants.
Why is it important?
Decisions can also be made in a top-down manner, where they mostly are mandates coming from the leadership - the manager or the senior-most engineer. So why bother with consensus?
Consensus Building is harder to achieve in the short term, but has the following benefits:
Better Solutions - it draws on the collective knowledge of the team, so it’s more likely to create more effective solutions.
Stronger Commitment - since the entire team feels heard during the decision making process, it is more likely that they will commit to the decision.
The framework
To make a decision based on the group’s collective opinions, apply this simple framework:
Gather possible options from all the participants.
For each option, list the pros and cons.
Agree on the criteria that are applicable/important for your case.
Discussing *why* each criterion is important might also help.
Based on the criteria, make a data-driven decision.
Let’s apply this framework to an example. Imagine the disagreement is about where to order dinner from.
Make a list of all the restaurants that your teammates suggest.
For each restaurant, ask the entire team to volunteer pros and cons. Involving the entire team here is important since the teammate who suggested the restaurant is not likely to have any points against it.
The pros and cons might contain points like “expensive” or “spicy food”. These are still not enough to make your final decision. You need to understand what factor matter to your team. For example, “expensive” can either be a good or a bad thing for you - what’s your budget? Is it important for you to have high quality food, or is it more important for your meal to be affordable?
This is covered by the next step - agreeing on the criteria that are applicable to your case. Along with your team, create a list of criteria that matter to you, and arrange them in priority order.
Match the criteria to the pros and cons of each option, and pick the best option for your team.
How to become a consensus builder
Here are some ideas to make the application of the consensus building framework easier.
Detect the disagreement - There can be many sources - meetings, slack, PR comments, emails, documents. The steps for consensus building are still the same, only the medium changes.
Does it need your involvement? - If you see the framework being applied or if you see the teammates already coming to an agreement, stay away and watch. If it is devolving into an argument or going in circles, step in.
Preparation is key - Sometimes, you need to do some research before you can present pros/cons and selection criteria. Creating a document beforehand and using it in the meeting can help.
Create a record of the decision - so you don’t have to discuss again. If it comes up again you can redirect the team member to the record. Unless new data comes to light, the old decision holds.
It isn’t personal - You’re just the facilitator. Your opinions aren’t special, they hold the same weight as the other participants. Applying the framework will help keep emotions out of the equation.
Draw on older similar decisions or discussions as a starting point. This will save time
Trial decisions - One way to avoid analysis paralysis of to make the best decision based on the data you have at hand, and reconsider when you know more. Especially if the decision can be reversed.
Once the decision is made, commit to it. Don’t complain, and encourage your team to do the same.



BHAVANA Y DRIVIN CONSENSUS A FRAMEWORK FELICES Y GRACIAS
FELICES Y GRACIAS