Managing code review conflicts can be a daunting task. But, non-violent communication can help you resolve and handle disagreements in code reviews. Let me show you how:
Have you heard of non-violent communication before?
Well, I have heard about it probably seven years ago for the first time. Back then, I thought it’s some kind of hippie stuff. I imagined people sitting in circles and mumbling peace to the world. How judgmental and narrow-minded, right?
Well, in the last seven years, I came across this conflict resolution method repeatedly. One day, I set aside all the prejudiced images and ideas that I had about non-violent communication and deep-dived into the concepts. And, it fascinated me. Why?
Because non-violent communication is a powerful tool that we can use to more effectively communicate and resolve conflicts in all aspects of our life.
But more so, it’s a very concrete step-by-step method to improve your communication during code reviews. Equipped with this method, we can better resolve and handle any conflicts during code reviews.
What is Non-Violent Communication?
So, let me give you a quick overview. Non-violent communication, or short NVC, is all about empathic listening and honest speaking.
This sounds simple, right? But, can you do it? Do you do it?
Well, to answer this we have to think about what we need to do in order to listen to emphatically and speak honestly?
To speak honestly, we first have to have a very good understanding of ourselves and the ability to articulate our feelings and needs. And to listen emphatically, we must have a genuine interest in what others have to say, and again the skill to hear what they are saying.
Still, what I see happening in today’s world is that only a few people take the time or have the skill to do that.
A conflict during code review
To illustrate what I mean, let’s think of a group of developers.* They are unhappy and frustrated with one teammate.
So, they get together with their manager to resolve this conflict.
The manager asks: “What is your colleague doing that frustrates you?”
The first dev says: “Well, he has a big mouth!”.
“Okay, what does this mean?”, the manager asks.
“It means, he talks too much”, says the second dev.
“Ah, and what does that mean?” the manager asks again.
“Simply that he thinks only he has anything worth to say.”, says the third dev.
Finally, the fourth dev speaks up and says: “You know what the problem is, he wants to be the center of attention all the time”.
Well, I do not know about you, but this conversation seems all too familiar and realistic to me. Phrases like those often come up in conflict situations.
Can you resolve the conflict?
Listening to what the developers say, can you come up with a solution to the problem?
Well, what makes it hard to resolve this conflict is that those phrases are filled with judgments and negative connotations.
They also are vague and not constructive.
NVC is a tool that can help us get out of those communication patterns, and replace them with constructive and positive action language.
And the wonderful thing about NVC is that it gives us concrete guidelines on how to detect such judgmental phrases, and how to practice constructive and thoughtful communication.
NVC is clearly articulating observations, feelings, needs, and requests
To do so, we have to separate observation from evaluation and thoughts from feelings. And then, we have to identify the underlying needs of all parties involved, and communicating them clearly.
So, by using the NVC methodology the group of developers realizes that the underlying problem was that the colleague liked to talk about his war experiences during work meetings. When he told his stories, it caused the meetings to run several minutes overtime. This conflicted with the needs of the other developers to leave the meeting on time.
By understanding what actually causes negative feelings, and what the needs of everybody involved are, the group could come up with a great solution to this conflict where everybody involved had their needs met. Can you think of a solution?
Well, I could now write about the concepts of NVC, like it’s done in the thousands of shallow blog posts about this topic out there. But, I do not believe this adds any value. To really understand and use this method you have to deep-dive into it.
So, if you want to learn more about this fantastic method, I suggest reading the original book of Rosenberg, or even better, attending one of my code review workshops on communication. Find out when the next workshops are happening here, or book your own company-internal workshop.
I think non-violent communication is one of the most powerful communication and conflict resolution approaches of our time. I wrote more about developing conflict competency here.
What do you think about it? Leave a comment, don’t be shy!
* The example is based on a situation in which Rosenberg acted as a mediator and helped a group to resolve a conflict with there manager.
Stay in the loop and skill-up by getting my bi-weekly emails about code reviews and software engineering. As a thank you, I send you my code review e-book.