In our day-to-day processes, roles such as Scrum masters or project managers work with very diverse teams, made up of all types of people: friendly, stubborn, sensitive, collaborative, individualistic and many other characteristics. In general, we cannot choose the team we are assigned to. However, we know that regardless of our differences, we all have a common goal and we must collaborate in the most harmonious way possible to achieve it.
During my career, I worked as a developer, project manager and Scrum master. I've collaborated with different types of personalities and been through difficult situations where I had to work hard to keep my team together and be successful. In this article I will share some techniques and tips developed based on experiences I had in software development teams. My goal is to provide information if you find yourself in similar situations in the future. Without further ado, let's get started!
How to deal with people who are very defensive in their proposals
In fact, we've all come across colleagues who may propose ideas and become defensive about them, to the point of becoming dissatisfied when things don't go their way. It is important to understand what is going on in their heads to understand these behaviors and deal with disagreements so that everyone benefits. Personally, I feel like I'm that kind of person, so I can explain firsthand how to face this situation.
This is something we often see in very competitive people. They are always looking to propose good ideas and get the job done in the best way possible. Their ideas can pop into their minds and feel like eureka moments, which makes them really like what they just came up with. So when these ideas are questioned, it can cause unrest and even accidentally hurt a person's pride. Of course, it's everyone's job to maintain a professional attitude and control their emotions. These are things each individual must work on for themselves, but I want to focus on how teams can handle these situations to maintain harmony and get work done successfully.
In my opinion, the best approach is to highlight the positive attributes of ideas and then suggest scenarios where that idea might not work. Apply maieutics so that the person realizes for themselves that their idea is not perfect. This way, they won't feel resentment or discomfort at receiving unfounded criticism.
How to resolve hidden friction between team members
In most modern technology companies, the majority of employees work remotely. This means that leaders may not always be present when developers interact. During a project, there will be times when team members are working on specific tasks and come together to do pair programming or discuss some code. The leader often misses these interactions and anything can happen. It can be something harmonious and productive or the opposite.
I remember a time when disagreement between two developers led to tension with each other. It was common for them to argue over every code decision, resulting in a sour relationship. This negative feeling was not spontaneous. It was built little by little. Once this feeling set in, the working relationship was greatly damaged and it took a lot of effort to keep everything stable. If this happens, it is necessary to maintain an intermediary between the parties and invest time and resources to ensure that disagreements do not escalate.
The best way to do this is through prevention. As a leader, talk regularly and briefly with members to identify potential inconveniences. Ask simple questions like “How did you feel working with them?” and “Are you comfortable with them?” These questions can help you understand whether the working relationship is healthy and productive. Let the person talk to you and share their perspective and opinion.
Ensure that the technical lead always intervenes if consensus is not reached. In the end, we want to move forward as quickly as possible and resolving these technical perspectives is part of your role. Don't take anything for granted and make sure you communicate in a timely manner.
How to resolve a direct conflict between two people
Everyone is different. They think differently and express themselves differently. Ideally, at work, we all act professionally and reflect on what we say or do. But in stressful situations, it is possible that some people cannot control their emotions and may engage in some behaviors that another stressed developer may not like.
I once had to deal with a delicate situation on a project. Developer A had little JavaScript/TypeScript experience and asked another developer on a call how a specific API worked. Developer B was dealing with some difficulties on his part and it seemed to him that it was a very basic question, so he answered A quite harshly because he couldn't understand the code. Naturally, an unwanted argument ensued.
I recommend taking the following steps to tackle this. The first thing is to address the issue the next day and give everyone time to clear their minds. Then we will need to listen to each party involved, as it is important to understand both perspectives and for them to feel heard. After expressing their opinion, it is important to analyze it and understand the root of the problem. In this case, it was a question of how developer B was too focused and preoccupied with other tasks and therefore gave an approximate answer. He was considered rude and developer A did not keep calm as he was also stressed and perhaps frustrated. I finally put the two parties together and things were clarified. As the saying goes, it takes two to tango, and they both confessed to their reactions. Developer A should not have reacted the way he did to developer B's unmeasured words. After understanding where each was coming from, some well-deserved apologies followed and we moved on.
How to get shy people to communicate more
During my career I had the opportunity to work with excellent professionals, people who were very comfortable to work with from the beginning. However, we often find highly qualified employees who do not communicate easily, whether to express their opinions, doubts or good ideas for a project.
We must deal with these cases as quickly as possible, as everyone is expected to contribute to achieving the goals in teamwork. We assume everyone will help resolve issues that may occur. It's a waste to have someone on the team who has the answers or brilliant ideas but doesn't dare to share them.
What I recommend here is that you establish safe spaces in which all project members participate. They all need to speak up and say what they think, and then everyone has the opportunity to address the pros and cons of each opinion. This may seem boring initially, but the idea is to create a team culture where shy or quiet people can break the ice and feel comfortable sharing their thoughts. Over time, this rigid structure will no longer be necessary because it will become natural for the team to speak their mind.
This is also useful when a developer feels stuck on a project. Meet with them and the rest of the team and give them the confidence to share the issues they are dealing with and what they have tried so the team can help. This will make it easier for them to ask questions and not silently drag out an issue on their own.
As we can see, most of these techniques focus on communication. People are very complex and different, and conflicts will always exist, but we can find this middle ground by preventing, acting promptly and creating the right pauses and channels. All team members will be able to interact in the best possible way to avoid and resolve conflicts. I hope my tips are useful on your teams!
More blog posts from our BDevers.