At the XP Days Germany I attended Markus Wittwer’s session on consensus-based decision making in teams. During the session we made the decision that I should come up with a write-up of the session within the next two weeks. To fulfill my duty, here it is. You can find his presentation in German on Prezi.
Wittwer motivated the need for consensus-based decisions on Agile teams based upon the default answer for consulting Scrum teams. Consultants are often confronted with questions like “We got this major problem here, how do we
Wittwer described three models of decision-making. Decisions can be based upon autocracy which is that just one person decides – sometimes based on other’s feedback, sometimes based upon their own knowledge. The second decision-making method is based on democracy which can be found in most democratic election systems around the globe. Last, decisions can be made based upon consensus within the team. These types of decision-making I already crossed in Jerry Weinberg’s Becoming a technical leader when Weinberg writes about organization within teams in his MOI model (motivation, organization, innovation).
Wittwer continued that decisions based upon consensus do not mean that everyone gets his ideal solution. Instead it means that an ideal solution for the team is found. The approach he presented is based upon questioning for objection for a certain decision. In that way the area where everyone feels ok is explored just as a software product is explored within Exploratory Testing. Instead of asking “is everyone fine with this?” Wittwer proposed to ask “Who objects against this?” and thereby have a meaningful discussion about the objections that exist within the team. Instead of an ideal solution for everyone, once everyone feels ok about a decision, the consensus decision has been made.
Wittwer continued by mentioning objections to the consensus-based decision-making process he heard very often. The main objection is that consensus-based decisions take a lot of time. Wittwer replied that not all decisions have to made based upon consensus. Instead focus on the most important ones, since you need to get the buy-in from everyone in the team for important decisions. Consensus decisions provide this ability by definition.
Wittwer said that self-organizing answer the question “who decides who gets to decide? ” with “We use consensus.” Much like the chicken-and-egg problem deciding how to decide should be the first decision made using consensus. Wittwer referred to election models in sociocracy. Based on Comte, Endenburg came up with sociocratic organizations, where the upper management positions are filled based upon consensus-based decisions.
The approach, Wittwer described is a five step process. First, roles and tasks are clarified. Second, an election notice is filled out, where just the name of the elected as well as the name of the voter is written down. Wittwer explained that it’s explicitly allowed to vote for yourself. Third, everyone is asked about their opinion in a reasoning round. Every participant states why he voted for the particular person. The fourth step includes another round through the participants, because usually after the first explanations people might change their opinion. The fifth and last step involves the moderator, who asks each participant whether the choice would be ok with her. Thereby the moderator is asking for the consensus decision.
Wittwer had some suggestions for what to explicitly do, and what to forget for consensus-based decisions. Besides voting for oneself for consensus-based decisions during the feedback round the communication should focus on why someone is proposed rather than why someone should not do it. Wittwer said that you should avoid asking beforehand whether someone would actually be elected. Also, the election should be done for an unlimited amount of time, and as a moderator you shouldn’t strive for perfection in the decision.
We went through this process on our own. Six participants got in front of the room, and were asked to find one person to blog about the session in question. We had a draw after the two rounds through the group. Wittwer asked during the fifth step for one of the two. In the end, when asking the person whether it would be ok for him, he said that it would be hard for him to do the write-up within the next two weeks. At that point I was the other choice, and was ok with this. The decision felt good, since everyone participated in the decision, and we found a good solution to our problem (at least I hope so).
My personal thought on consensus-based decision is that it is useful, and a collaborative way to make important decisions. As explained by Wittwer, I would not use it all the time, since the process might be too long for deciding which test to implement next during a TDD-session for example. But for very important decisions, for example to elect the next ScrumMaster from the team itself. Of course, this leaves the problem of knowing when to use it, but I am sure this is a thing humans can learn over time.
For a team-based decision it gets the participation of everyone into the decision, and therefore the decision is taken by the whole team, and actually supported. In the beginning I would prefer to have such a session moderated. Over time the team should be go through the process by themselves.