An independent international study conducted by the CPP Global discovered that nearly 85% of employees in a workplace have experienced a considerably huge amount of conflict. Furthermore, it was clear that almost 50% of those conflicts were due to personality and ego-related causes.
This article will explore the art of managing conflicts in software engineering teams and how tech leads can manage conflicts for the team’s growth in positive ways.
Nature of conflicts in software engineering teams
Conflicts in software engineering teams are a typical phenomenon, which can occur by the tiniest disagreement to something more serious. Let's group conflicts into two types:
Conflicts due to technical matters — As a tech lead, this is a good sign for you to witness disputes within the team related to technical issues. Whether they are debating for a valid or invalid project-related technical concern, they are dedicated to improving some technical aspect of the project.
Conflicts due to personal matters — This type is tricky, and you don't have much control over this. These conflicts are heavily involved with politics, ego, and winner-and-losing attitudes. Therefore, request help from the management or HR team to handle these types of disputes.
Conflicts are not always bad
According to Bernie Mayer, a Professor of Conflict Studies in the Negotiation and Conflict Resolution at Creighton University in Omaha;
“Healthy conflicts can ignite creativity and intelligent decisions in the team.”
As a tech lead, you need to identify conflicts at their early stage and determine whether it is going to be a healthy conflict or not.
Here are some key factors to identify healthy conflicts,
Healthy conflicts lead to debates but never too aggressive shouting.
Every team member respects others' opinions and listens to each other.
Logical reasoning is involved when rejecting someone else’s idea.
The role of a technical lead in managing conflicts
You can spark deep conversations by managing conflicts in a healthier way, which leads to better teamwork and successful project deliveries. Here are the top 5 tactics that you can use to effectively manage team conflicts.
1. Setup a conflict-welcoming team culture
You can paraphrase different ideas from different team members and provide a debate-friendly space for everyone.
Promote technical arguments in the way opposing ideas ignite discussion
However, don’t show your bias (even though one particular idea resonates well with you). By doing so, other team members will see this and may hide their valuable ideas even if they contradict others.
2. Appreciate people who go the extra mile
Suppose there are different opinions for a project’s technical architecture, and two engineers have contradictory ideas about it. One individual might do research by himself and present a new design solution proving his valid argument further.
As a tech lead, you can appreciate his/her efforts and give a shoutout, so others also take the initiative to go the extra mile. By doing so, better ideas can be brainstormed — the more the better!
3. Give responsibilities by forming sub-teams
Suppose you notice a submodule or a component of the project, which leads to many controversial arguments. In that case, my suggestion is to form a sub-team and give responsibility to them to enhance the application by addressing the grey area you observe. As a result, it will lead to many healthy conflicts within the sub-team, while not disturbing other team members.
You may manage the conflict keeping it under a healthy margin and allowing sub-teams to derive practical solutions for the problematic scenarios.
This is one of the proven techniques in the software engineering industry to boost team productivity!
4. Define a common goal to remind your team frequently
As a team, it is essential to have a clear, achievable goal defined, but not just limited to documentations. When every team member is working toward a common goal, it makes your job so much easier as a tech lead. If you can inspire your team to achieve common goals, they will try different paths to reach them, which is what you want from them. That is where the creativity and smart decisions come from, as a result of some healthier conflicts.
If an individual is working on their personal goal, it creates misaligned actions with the others in the team. This is the root cause of the 2nd type of conflict discussed above, the emotional conflicts. Therefore,
… you need to re-iterate and frequently talk about team goals with each team member.
Hence, it helps everyone to synchronize with team dynamics and work together, delivering high throughput.
5. Know how to stop a conflict — Don’t text; use voice
If you feel the limit of a healthier conflict and now the arguments are going more into personal spaces, raise your voice to break the flow. Again, the crucial factor here is that the involvement of your leadership and effective communication.
With my industry experiences, I strongly suggest you use your voice but never text or send an email expecting others to change their behaviours.
If you want to pass a message to someone expecting to summon a conflict, always go and talk to them in person, or give them a call but DON'T text them. This advice will make your work so much easier when it comes to controlling team arguments.
If no one cares about the team improvements, no one worries, and no conflicts occur. That is a sign of weak team culture. But if you notice some healthy conflicts in your team, be grateful. You have team members with good potential to drive the team forward.
As a tech lead, you can practice the techniques mentioned in this article to manage some arguments and spark positive team dynamics through positive disputes.
However, at the end of the day, make sure that every person in your team feels good about each other and feels proud to be a part of your fantastic team!
Let me know what you think about these suggestions, and I wish you all the best! 👏👏👏