Tech leads will inevitably have to deal with conflicts between developers at times.
This can be due to misunderstandings, different work styles, or simply a lack of communication.
Managing conflict in teams can be a challenge, but it’s important to remember that disagreements arise from problems and difficulties.
Examining the underlying causes—and finding solutions—can help tech leads prevent future clashes before they occur.
This article will cover some of the common causes of conflict, as well as ways to mitigate them. Stay tuned!
Table of Contents
Identify the problem
Conflicts are an unavoidable part of every development process, especially when deadlines loom and multiple projects demand attention.
Keanan Koppenhaver, the CTO and co-founder of Alpha Particle, puts it this way:
“Whenever you bring together a group of people and ask them to align behind a common goal, there is bound to be the occasional conflict.”
While we generally view conflict as a negative thing, some disputes—for example, discussions about how best to tackle certain problems or what tech stacks are most appropriate for different projects—can actually benefit group dynamics.
But, when disruptive disagreements do arise between fellow team members, the best course of action tech leads can take is to first determine why they occurred.
Only then can they develop an effective strategy for dealing with it.
There are many reasons why developers might not see eye-to-eye, but generally speaking, conflicts in software development teams fall into two broad categories: those related to technical issues and those involving personal matters.
Technical issues are often easier to resolve than personal ones.
If two developers, for instance, are having a disagreement over the architecture, pull request reviews, coding standards, or any other aspect of development, the dispute can be resolved by discussing various options and making an informed decision together.
This type of conflict is often intellectual in nature, involving different ways of approaching the same problem or different perspectives about how software should be built.
Get unreal data to fix real issues in your app & web.
On the other hand, when personal issues are involved, such as a developer complaining about another team member’s personality or behavior, that’s when things get tricky.
Those kinds of issues are more difficult to resolve, as they’re often based on personal preferences or emotions rather than technical merit.
Plus, egos get in the way, and then the discussions tend to escalate quickly.
They’re also one of the most common causes of conflicts between employees in general.
Identifying the category to which a conflict belongs and investigating its true cause will enable tech leads to understand how that issue grew in the first place, enabling them to address it better.
If tech leads can get everyone around the table to agree on what the actual problem is—rather than arguing over who caused it or how it should be fixed—that consensus may become a good starting point for an effective resolution.
Prevent conflict escalation
When a discussion between developers starts to get heated, it’s easy to fall into the trap of arguing for the sake of having the last word.
When criticized, it’s natural for people to feel defensive and want to argue their point even more strongly.
But developers should steer clear of this approach. Building software requires cooperation—not quibbling over differences of opinion.
According to Friedrich Glasl, an Austrian conflict researcher, every conflict goes through nine stages of escalation.
He depicts escalation as a descent into more brutal forms of fighting rather than a way towards higher forms of resolving the issue.
What he means by that is that when conflict escalates, people tend to become more aggressive and attack the opponents ad hominem, trying to achieve dominance over them by insulting them personally.
As you can see in the picture, Glasl’s nine stages of conflict escalation are divided into three levels, each containing three stages.
The first level is still a win-win situation for both parties as they’re still trying to find common ground.
The second level is a win-lose situation where one party loses and the other wins, and the third level is a lose-lose situation where both parties lose.
This model offers a wealth of useful psychological insights into conflicts as it shows how at first benign arguments can gradually escalate into full-blown personal feuds with no end or resolution in sight.
It’s also an indication that an even bigger split between opposing developers might occur if the tech lead doesn’t step in on time, preferably before the conflict reaches the second level.
Tempers can get out of control quickly, so it’s important for tech leads to be able to recognize this and suggest everyone take a break, as Uttam Kini, a principal consultant at Equal Experts, points out.
“If you spot that a discussion is turning heated, call a time out and set a time later to discuss that one topic.”
Calmly putting off the dispute until later, when tempers have calmed down, is a good way to defuse an explosive situation.
If the conflict isn’t addressed and stopped on time, it can even linger throughout the day and negatively affect the team’s morale.
Facilitate open communication
Once the conflict between developers has been diffused, the tech leads should encourage open dialogue in order to find a resolution.
Both conflicting parties should be able to express their viewpoints and work toward understanding each other’s perspectives.
To create a good team environment, it’s important that tech leads establish open lines of communication between them.
In other words, they should try to make both conflicting parties feel psychologically safe in the knowledge that their points of view will be taken seriously.
Psychological safety is a term coined by Amy Edmondson, a professor at Harvard Business School.
It refers to a state of mind in which employees feel comfortable sharing their opinions without any fear of judgment or ridicule by their colleagues.
This is a necessary prerequisite for any kind of productive dialogue or constructive conflict resolution, which means that tech leads need to make an effort to create this type of atmosphere within their team.
Esther Saji Wang, a senior marketing manager at Codesphere, is on point when she states:
Therefore, in order to smooth the way for negotiations and facilitate a productive discussion, tech leads should encourage both parties to tell their version of events.
If they show to the opposing developers that they’re ready to listen, without judgment or taking sides, then they’ll be more likely to be open to a peaceful resolution.
Additionally, it will encourage mutual trust by making them feel heard and valued and giving them the assurance that tech leads won’t dismiss their side out of hand.
Become the mediator
Once open communication has been established, the tech lead should act as a mediator between opposing parties.
At this point, it’s crucial to remember that a mediator’s role is to give developers involved in a conflict the chance to work out a solution on their own rather than to try to impose a resolution.
In a Quora thread, Steve Heidebrink, the owner of Heidebrink Technologies, described how he mediates disputes in his teams.
If tech leads tell opposing parties what to do, they won’t learn how to tackle conflicts on their own. Instead, they’ll be even more reliant on them for resolving disputes in the future.
There has also been a lot of debate over whether the mediator should talk to the disputing parties separately or jointly.
Some experts believe that it’s best to talk to them separately first so that the tech lead can get a clear sense of what each party wants and needs.
After that initial conversation, they should meet up together to discuss their issues further before making a decision.
According to Jeanne M. Brett and Stephen B. Goldberg from Harvard Business Review, this strategy is more successful for a variety of reasons.
Conflict frequently carries a strong emotional component—it’s possible that one or both opposing parties will be angry, or even intimidated by each other.
Meeting with each other individually will give them the opportunity to vent, and tech leads will get a chance to gain some new insight into the conflict.
As the same article indicates, managers are much more successful at mediating disputes when they hold separate initial meetings with each party to foster empathy and better understand their positions rather than holding joint meetings first.
However, it’s also good to remember that if, despite their best efforts, tech leads are unable to resolve a conflict, they should ask the team for assistance or step in as a tie-breaker.
But more about this in the next sections.
Include the team
There are instances when it’s more efficient to involve the whole team in a discussion so that important progress can be made faster and stalemates resolved more efficiently.
For example, if a dispute is related to the programming language or framework that will be used in an upcoming project, team members—as experts on the topic—are well-equipped for input.
On the other hand, if the conflict is about a new policy, procedure, or even coding standards, it’s important to get a consensus from everyone.
This will ensure there are no misunderstandings down the road.
Team members are able to put conflict into a wider context and provide a fuller picture of possible resolutions by outlining various solutions, as well as the advantages and disadvantages associated with each.
This can help prevent the team from becoming polarized, which is a common issue in conflict resolution.
Moreover, according to statistics, 34% of conflicts are caused by stress at work.
Tackling conflict in a team setting can also help prevent further tension and improve productivity—or it can resolve existing issues that may be causing people a great deal of stress.
Moreover, the mere presence of additional team members can help diffuse the friction that often accompanies conflict.
This is because a team can provide an objective view of the situation and may be able to offer interpretations that are more grounded in reality than those being presented by either party.
Once a majority has formed, it usually becomes possible to reach a resolution on most disputes.
However, if feelings remain strong and no consensus can be reached, sometimes even after the team’s involvement, the tech lead will have to intervene in order to break the deadlock by making an executive decision.
Serve as the tie-breaker
It’s possible that two groups won’t agree, even after many discussions.
Wars of words without decisions will slow the team and sometimes bring it to a halt.
If two parties cannot reach a compromise even after several rounds of discussions, the tech leads should resolve the issue and employ their own judgment to make the final decision.
Let’s see a real-life example from Gábor Zöld, the head of Marketing at Coding Sans, to get a better picture.
In his article, he shared a story about a time when a new developer was added to his team of senior developers.
The junior newcomer didn’t mesh well with the rest of the team, who already knew each other and collaborated well.
His joking around and lack of commitment bothered the others, and his first round of feedback reflected that.
He was devastated by their criticism, and things escalated into an unhealthy split between two opposing parties, with no resolution in sight.
So Gábor Zöld got all of the developers together in one room and attempted to resolve the conflict in conversation.
Although they managed to reach a resolution, Zöld also decided to have a one-on-one conversation with the new developer.
He laid his expectations very clearly. The newcomer had to stop practicing certain behaviors and begin taking his responsibilities more seriously.
Surprisingly, the new developer rose to the challenge and got everyone’s respect by doing the job well.
A resolution like this one is ideal, and not all conflicts will end so well.
However, it’s important to remember that in some instances, the tech lead will have to take a stance and act as a tie-breaker, no matter the consequences.
Sometimes it’s the best way to get everyone on the same page.
Escalate the issue
In some cases, a third party may be necessary to mediate or resolve the situation.
If the tech lead is unable to peacefully resolve conflict within the team and this situation is directly affecting productivity, then it needs to be brought up with the higher-ups.
The person conducting the meeting—whether a manager or HR professional—must act as an unbiased facilitator, arranging and moderating discussions in order to resolve disputes.
So, when should third parties step in?
According to Lora Patterson, a senior HR advisor at TriNetZenefits, there are four situations in which mediating between two individuals or groups can be helpful.
First, if employees are not getting along and their team lead doesn’t know how to deal with the situation, then it may be time for HR to step in.
In the second scenario, if there are conflicts between two employees and one feels like the team lead is favoring the other employee, then this first employee will likely request that a neutral third party—such as an HR representative—intervene.
Employees sometimes have issues with team leaders but are reluctant to directly address these concerns.
Those employees often complain of feeling directionless, undervalued, and ignored by the team lead. In this case, HR may also get involved.
Very handy for handling user feedback. CTOs, devs, testers – rejoice.
Another situation that can create bias is when team leaders from different departments aren’t getting along.
If they feel like their superiors are playing favorites, they may avoid bias by asking HR for help.
In the end, when all other approaches have failed, and the conflict is serious enough to affect team performance, it can be useful to get an outside party’s perspective on a situation.
HR professionals and managers often have a lot of experience in handling these situations and can offer up a fresh perspective on the matter.
Conclusion
Conflict is inescapable in all development teams, regardless of how well the developers get along.
Whether it’s a matter of style, a point of view that others don’t share, or even just a simple misunderstanding, disagreements are impossible to avoid.
What makes a difference is how tech leads handle that conflict and whether they implement strategies that can help everyone keep discussions civil and address the issue at hand in a productive way.
Improving conflict management skills may not be the most fun way to spend your time, but it can help keep the projects moving smoothly even when tensions are high.
Hopefully, this article will provide tech leads with some ideas on how they can manage conflict between developers and be a useful source of information for anyone who finds themselves in this situation.