Confrontation is inevitable in the close-knit and often stressful environments many dev teams work in. It is a rare group of people that can work together towards the same goal and not disagree sooner or later. The issue is not the arisal of conflict, but how you manage it. The way a team works through disagreements to find common ground can be the difference between a good team and a great one.
Denial is not a river in Egypt, but it is one of the most common problems when it comes to resolving conflict.
Unfortunately, avoidance is an all too common response to conflict. A response that usually only serves to draw an issue out and, ultimately, helps nobody. Granted not every disagreement needs an intervention and team-building retreat before it's solved, but having the tools to help your team communicate is how you will find your way to productivity.
Conflict can come from anywhere; a bad code review, a design disagreement, or even just a team member having a bad day. In a high-paced environment, the smallest miscommunication can escalate into an issue that can cause the whole team to be disrupted. Whatever the conflict, there is always a simple rule to remember - Conflict exists when one party has a need for another and that need is not being met.
The first thought you might have is that not all disputes fit so neatly into this simple definition, but think of it as a jumping-off point to help you understand and hopefully solve the issue…
Communicate the need
It is important to understand what each party is trying to achieve in any given conflict, what is their stance, and why are they involved at all. This might be as simple as one party requesting a resource or action from another, or it may be much more complicated in that there is no single 'need' to be filled in order to resolve the issue. The important thing is to establish communication on what all parties are trying to accomplish.
In many cases, simply allowing all parties to vocalize their position can create enough space for a compromise to be achieved. Whether or not the need can be realistically met is not the goal of this step, it is simply to establish communication and an understanding.
Meet the need
If the need can be met within reason, then great. Conflict resolved. If not, then negotiation can begin. Again, we cannot speak to all situations with a single magic solution, but once all parties have vocalized their argument and there is still no clear solution, then you would hope cooler heads can prevail and a compromise that suits everyone or at least restores harmony can be made.
Only if these steps fail do 3rd parties need to be involved for conflict resolution - a very common issue that many teams totally skip these steps. People can have a tendency to avoid the issue altogether or manifest their issue with aggression instead of trying to hear both sides…
If you take anything away from this article it should be that all members of a successful dev team should be equipped with the tools to vocalize their needs with conflict counterparts and try to meet that need if possible.
Third-party intervention is the only option left if the conflicting parties are unable to find a solution on their own. A member of the leadership team should be able to act as an impartial adjudicator of a disagreement and make an unbiased decision that gets everyone involved back on track. The key here is listening and understanding the argument and making the most effective decision for the development of the project, not to disrespect or diminish any team member.
A resolution needs to be found one way or the other in order for the team to get back to work and steps to keep everyone as happy and efficient as possible are the result of any good conflict resolution.
How to avoid conflict
These tools are great for your team to know and implement but avoiding situations that cause friction between team members is an altogether better approach.
Set clear goals
Ensuring all team members are well informed and on the same page is a great first step to avoiding miscommunication and conflict. Trying to make any group of people pull together to achieve a task can be difficult, everyone has their own opinion. Well-defined tasks will help team members see the destination clearly and avoid disputes about the best route to get there.
Lines of communication
Healthy lines of communication don't need much explanation but make sure the team is able to speak to one another and clear up any issues before they escalate into a potential problem. Maybe your goals were not as clearly defined as you thought? Well-accessible communication will allow all team members to clarify what may be causing them a bottleneck.
A well-planned and informative onboarding process will help every new team member's transition into the team be as smooth as possible. Company vision, KPIs, technical documentation, tools the team uses, roles, and responsibilities are all key things for a new hire to know and understand to avoid any conflict with new team members down the line.
Clearly defining the roles and responsibilities of each team member along with a well-defined goal and metrics will keep conflicts to a minimum. It's easier for everyone to sing from the same hymn sheet if everyone has the same one. A well-structured company with well-established and open communication is the best way to keep your team working together and in harmony.
If and when conflict does arise, the ideal scenario would see all parties involved exercising their ability to vocalize their issue with as little ego as possible. Understanding one another and finding a compromise where possible should be the goal. This isn't always going to be possible but it should be a skill set all team members at least strive to achieve if an effective workflow is to follow.
Understandably not every hire your team ever makes will be an emotionally mature and well-balanced individual, capable of clearly communicating their needs and finding healthy solutions to conflict. The foundation of any effective team though is communication. Giving your team these tools or even trying to establish them as a part of the culture will go a long way in avoiding many issues and keep you focused on the important stuff.
What does your team use to resolve conflicts? Let us know down below.
And as always, happy coding from your friends at Codesphere, the bottleneck-free cloud provider.
Written by Dan Parry
Top comments (0)