The power of disagreement
In a recent interview I was asked if I often had disagreements with my coworkers. Being lost in translations, and wanting to give the impression of someone with whom everyone gets along, I naively replied that I never had any arguments with my peers. My interviewer didn’t elaborate on the question, but oh mistake, fifteen minutes after the interview was finished, I realised how wrong I had been giving this answer.
Disagreements with peers is an essential part of a solution development process, especially in the context of software development. It is characterised by the elaboration of different solutions for a given problem, and each solution becomes subject to conflicting opinions outlining its pros and cons. It leads to an optimal solution, and ultimately develops each party’s understanding of their working context.
A primary advantage of disagreement is that it generates multiple solutions for a given problem. As people have different experiences, backgrounds and understanding of the company context, they will be able to adopt differing approaches in tackling obstacles. During this process, we may discover new and possibly better solutions. It will also help in highlighting the characteristics of a problem. We may realise that performance in our API is secondary to the ease of development and maintainability. It will force us to sort out and value each characteristics our implementation needs to feature.
Having diverging opinions will also induce a better valuation for a solution which may previously have been considered flawless. Negative critics help in discovering the cons and inconveniences of an implementation. These will also prompt us to come up with fixes for any troubleshot a given implementation can present. Again, this will lead us to a greater understanding of the real problem, and in the process, each parties involved will learn more about their environment and expand their knowledge, even if a solution is quickly discarded.
Finally, disagreements shift the burden of the decision from the employees to the company/team itself. The whole organisation is making a coherent choice by taking into account its goals and key objectives. By having a dialogue, the outcome is not dependent on a single person anymore, and every party is equally responsible as they all took part of the decision process. Ultimately the verdict is to go out with the optimal solution for the company.
Finally, disagreements force us to expand our horizon by being more objectif in regard to the a solution. The discussion gives us a better understanding of the problem and we ultimately end up with an optimal solution. The questions remaining are: when should we engage the debate and how should the decision process unwind?