Roompact “Perspective” posts are opportunities for individual staff members to work out ideas and provide their individual thoughts and opinions on a given topic.

Running an organization is very difficult. Doing this requires a passionate team of experts that are committed to doing their work well. But a healthy team that works together must engage in honest discussion, and honest discussion will lead to disagreement. To be able to handle such inevitable disagreement in a constructive way is essential for any team.

Disagreement, when handled in a positive manner, can lead to many benefits. Disagreement should be resolved by engaging in a combination of advocacy for one’s own positions as well as inquiry into other points of view. In this type of environment, where civility is the norm and where each participant engages in both inquiry and advocacy, weak ideas supported by flimsy arguments are discarded in favor of stronger ones backed by more compelling evidence. Participants not only understand each other’s viewpoints, but come to know the underlying reasoning for them as well.

It is from this trading of perspectives that a team engaged in disagreement can grow. Individual team members have the opportunity to understand and learn from each other. The team can identify and suspend fruitless efforts before significant time and resources are committed to them. This process of disagreement resolution can lead to spotting inefficiencies, improving strategic decision making, and be a boon for innovation. Perhaps most importantly, this type of productive disagreement helps team members build trust and respect for one another, leading to better collaboration and improving the process of handling future disagreements.

Whereas handling disagreement in a healthy way can lead to positive outcomes for a team, to handle disagreement in a negative way, such as by avoiding inquiry or disregarding evidence, can be very detrimental. Handling disagreement in a negative manner can lead to frustration and resentment for the individual team members. Negative disagreement handling will also impact a team as a whole, preventing good ideas from being uncovered, stifling mutual understanding, and eroding trust. Some teams may attempt to shy away from disagreement altogether, which can just as well lead to the same adverse results.

At Roompact, we regularly find ourselves in positions of disagreement. But it is from embracing discussion in these situations that we grow and improve. Instances of productive disagreement have led to better software, more effective strategic initiatives, and more productive team members.

In handling disagreement, it is important to understand the underlying reasons for different perspectives. Someone on our engineering team is likely to have a viewpoint that differs from that of someone on the sales team, who in turn will have a different viewpoint from a member of our client experience team. But engaging in discussion helps us realize that each viewpoint stems from a different starting point. The engineer may be thinking about the technical implications of a decision, whereas the sales team member may be relaying feedback heard during a call with a prospective client. The client experience team member, by contrast, may be considering input gathered from several regular users that have been encountering a particular pain point. It is only after engaging in discussion and sharing perspectives that the most promising options become apparent, ones in which many viewpoints have been considered.

One of the best examples of productive disagreement within the engineering team dates back several years. At the end of 2016, we had just finished developing a major new feature. While conducting a debrief at the end of the project, we realized we were all unhappy with our approach to building our user interface. We were using a programming language called JavaScript, which was easy to use for building small pieces of an interface, but difficult for building complex modules. The focus of the disagreement between the software engineers was on whether to change our approach to writing JavaScript or look for a different programming language altogether.

One of the possibilities we were considering was switching to a very different programming language called Elm. We found ourselves in strong disagreement on whether to switch or to focus on improving our approach to JavaScript. One viewpoint was that Elm was a very risky option, particularly because we were planning on building a large new module—what would become Roompact’s Forms module. If we were not able to learn Elm quickly enough, or got stuck partway into the project, we would lose weeks or months of time with nothing to show for it. A different viewpoint, however, was that once we became productive in Elm, we would be able to create more complex features in less time and with fewer bugs, as Elm offered many features that JavaScript did not. This made the cost of the switch worth it.

Our disagreement on whether to switch was very positive. It led to everyone carefully spending more time researching the various methods for moving forward, and sharing their findings. We decided to try using Elm to build a very small feature first—this was a low risk compromise that would not cost much time but would allow us to weigh the difficulty of learning the new language versus its purported benefits. The experiment revealed that Elm was worth using. Ultimately, we ended up switching to Elm for building our user interfaces. The flexibility and reliability of some of the newer features in Roompact—such as Forms—can be attributed to this switch.

In looking for a solution for how to best build our user interfaces, we found ourselves in disagreement. But recognizing our disagreement and resolving it in a productive manner is what led us down the path to successfully switching from JavaScript to Elm. Had we not resolved our disagreement with care, or avoided disagreement altogether, the process of changing would not have been as methodical or conducted with as much care. This would have reduced the chances of a successful switch and potentially diminished the productivity of the engineering team.

Disagreement can only be addressed through discussion. When we as a company strive to build understandings of each other’s perspectives, we are often able to come up with innovative solutions to problems that would have otherwise. In many instances, resolving disagreement also allows us to recognize unnecessary initiatives and avoid spending time and effort on them. Ultimately, productive disagreement results in a more effective and innovative team, better software, and happier Roompact users.