Consensus
As a senior engineer who has led numerous projects, I’ve often been asked to “sign off” on decisions or designs. While there are instances where my approval is genuinely required, more often than not, that’s not the case. Let me share my perspective on consensus and signoffs, especially given my experience working with blockchain technology, which heavily relies on consensus mechanisms.
What is consensus? In my view, consensus is when all participants agree on a path forward. It doesn’t necessarily mean they all love the chosen path or that it’s their favorite option, but they all agree to it. For example, if Alice really wants sandwiches for lunch, but Bob is craving pizza after having sandwiches the day before, they might settle on Mexican food as a compromise and enjoy their meal together.
On the other hand, a signoff is when a person in an authoritative position provides their agreement or approval. When buying a house or a car, you have to sign a document confirming your identity as per the US Patriot Act, with a government-certified body verifying your information and signing off on it.
When running a review or design process, my advice is to collect feedback iteratively. Keep gathering input until you’re confident in your approach. Once you’re confident, reaching consensus with others becomes easier. If you can achieve consensus with a small group of 2-3 people and you’re confident that expanding to another 2-3 people won’t raise new concerns, you’re likely in a good position. However, if you anticipate that involving more people might uncover additional issues, it’s wise to gather their feedback as well. The required breadth of input depends on the scope and impact of your design – sometimes a few people’s input is sufficient, while other times you may need input from an entire organization.
Inevitably, there will be situations where different parties disagree, leading to an impasse. At Amazon, we have a mechanism called “single-threaded owners” to address such scenarios. When you encounter a disagreement, ensure that both parties understand the entire context and reasoning behind each perspective. If they still disagree despite this shared understanding, it’s time for a single-threaded owner to make a decision. Present the choice to the designated owner, and let them make the call – similar to a signoff process.