Speak Now Or Forever Hold Your Peace

Lazy Consensus

  • Consensus
  • Software Development
  • Code Review
Written by Sinead McLaughlin • 15 Sep 2020 • 2 min read • Last updated 2 months ago

The phrase rings of a very nonchalant approach to software development, but as more companies move their collaboration efforts from face to face office environments to virtual rooms and teams spread over larger geographical areas, could lazy consensus become more prevalent?

Lazy consensus is based on the assumption that it is easier for people to agree, by doing nothing, than it is to object. Silence means agreement.

It means you can avoid waiting for a community based decision before proceeding which can be hard to get if you are waiting on feedback from multiple people across multiple timezones. However, it does require everyone who cares for the health of the project to watch what is happening, as it is happening. Objecting too far down the road will cause upset, but objecting or asking for clarification of intent early is more likely to be greeted with relief that someone is watching and cares.

It’s likely you've already had experience with lazy consensus. Have you ever heard a team member say "If no one disagrees I will go ahead", or a code review being submitted because enough time has passed and no one has objected?

It is a tactic that allows the impatient people of the world to move forward and those who don't care enough to step out of the way. Afterall if they had any strong objections they would speak up instead of holding up progress by failing to provide feedback in a timely manner.

It should also be noted that the use of lazy consensus should be declared and not used as a weapon to get your way. e.g "If there are no objections within 72 hours I will move forward with this proposal"

Lazy consensus is not a voting process that is in widespread use but it has its value in some scenarios. Its been used by the Apache community

Whether or not the use of Lazy Consensus will become more widespread only time can tell, but with changing working environments, the globalisation of development teams and the continued march of technological advancement, can you afford to wait on the go-ahead from everyone to get started?