By Juan Esteban Ladron De Guevara Alvarez, Scrum Master at BairesDev.
In our day-to-day processes, roles like Scrum masters or project managers work with very diverse teams composed of all types of people: friendly, stubborn, sensitive, collaborative, individualistic, and of 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 have worked as a developer, project manager, and Scrum master. I have collaborated with many types of personalities and experienced difficult situations in which I had to work hard to keep my team together and succeed. In this article, I will share some techniques and tips developed based on the experiences I have had in software development teams. My goal is to provide insight should you find yourself in similar situations ahead. Without further ado, let’s get started!
How to deal with people who are very defensive of their proposals
Indeed, we all have come across colleagues who might propose ideas and be defensive about them, to the point that they will be dissatisfied when it does not go their way. It is important to understand what goes through their mind to understand these behaviors and handle disagreements in a way that everyone is benefited. Personally, I feel that I am that type of person, so I can explain firsthand how to face this situation.
This is something that we generally see in very competitive people. They’re always looking to propose good ideas and get the job done as best as they can. Their ideas can pop into their mind and feel like eureka moments, which causes them to be very fond of what they just came up with. So when these ideas are called into question, it can cause unrest and even accidentally hurt the person’s pride. Of course, it is everyone’s job to keep a professional attitude and own their emotions. These are things that each individual must work on for themselves, but I want to focus on how teams can handle these situations in order to maintain harmony and get the job done successfully.
In my opinion, the best approach is to highlight the positive attributes of the ideas and then suggest scenarios where that idea might not work. Apply a maieutic so that the person realizes on their own that their idea is not perfect. This way, they will not feel resentment or discomfort for receiving unfounded criticism.
How to resolve hidden friction between team members
At most modern tech companies, the majority of collaborators work remotely. This means that leaders might not always be present when developers interact. During a project, there will be times when team members are working on specific tasks and meet 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 two developers’ disagreement led to tension with each other. It was usual for them to argue over every decision about the code, resulting in a sour relationship. This negative feeling was not spontaneous. It was built up little by little. Once this sentiment settled in, their work relationship was greatly damaged, and it required a lot of effort to keep everything stable. If this happens, you need to keep an intermediary between the parties and invest time and resources to ensure disagreements do not scale.
The best way to go about it is through prevention. As a leader, talk regularly and briefly with the members to identify possible inconveniences. Ask simple questions such as “How did you feel working with them?” and “Do you feel comfortable with them?” These questions can help you understand if the working relationship is healthy and productive. Let the person talk to you and share their perspective and opinion.
Make sure the tech lead always steps in if a consensus is not reached. In the end, we want to move as fast as possible, and resolving these technical perspectives is part of their role. Do not take anything for granted, and make sure to communicate timely.
How to resolve a direct conflict between two people
Everyone is different. They think differently, and they express themselves differently. Ideally, at work, we all act professionally and reflect on what we say or do. But under stressful situations, it is possible that some people cannot keep their emotions in check and may engage in some behaviors that do not sit well with another stressed-out developer.
I recommend taking the following steps to face this. The first thing is to address the issue the next day and give everyone time to clear their mind. Then we are going to need to listen to each party involved since it is important to understand both perspectives and for them to feel heard. Once they have voiced their opinion, it is important to analyze it and understand the root of the problem. In this case, it was a matter of how developer B was very focused and concerned about other tasks and therefore delivered a rough response. He was perceived as rude, and developer A did not keep calm, for he was also stressed and maybe frustrated. I finally brought both parties together, and things were cleared up. As the saying goes, it takes two to tango, and both owned up to their reactions. Developer A should not have reacted as he did to dev B’s unmeasured words. After understanding where each came from, some deserved apologies followed, and we moved on.
How to get shy people to communicate more
During my career, I have had the opportunity to work with excellent professionals, people with whom it is very comfortable to work from the beginning. However, we often find highly skilled collaborators who do not communicate easily, whether they need to voice their opinions, questions, or good ideas for a project.
We must deal with these cases as soon as possible since everyone is expected to contribute to achieving goals when working as a team. We assume everyone will help solve problems that may occur. It is a waste to have someone on the team who has the answers or bright ideas but does not dare to share them.
What I recommend here is that you establish safe spaces in which all the members of the project participate. They all need to speak and say what is on their mind, and then everyone has a turn to address the pros and cons of each opinion. This may seem tedious 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 strict structure will not be necessary because it will be natural for the team to speak their mind.
This is also useful when a developer feels stuck in 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 already tried so the team can help. This will make it easier for them to ask questions and not drag a problem silently 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 that 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 you find my tips helpful in your teams!