If you're in software development, especially on a development team, these ideas about nonviolent communication (NVC) may be able to help you and your team.
The approach is: observe facts -> note feelings -> uncover desires -> make requests.
For software development, I recommend a NVC approach called "Crucial Conversations". I summarize it on my repo.
Completely besides NVC and TFA, etc... But, thank you for the work you do. I've come across a number of your repositories (arch decision records, KPIs, OKRs, smart criteria, ground rules, etc...) and I have to say, they are outstanding resources that I find myself coming back to time and time again.
Please no. That reads like a cheat sheet for sociopaths.
Conversations between good actors don't need to be engineered. These techniques are probably great if you're a police officer, lawyer, executive, or salesperson, but let's not turn our workplaces into that internally.
I'm also in software development, and especially in this field, just talk directly to people. If you find that you can't connect with your team and you need various pre-planned tactics to work with others, you're probably doing something else wrong.
We're social creatures. Don't engineer away the last of our humanity from our workplaces in pursuit of optimal request fulfillment.
Disagree 100%. “just talk directly to people” reads to me like an ill-informed tactic that allows all our worst habits to run amok. Studying these techniques and making them habitual is the key to a kinder, more thoughtful, and even more effective and productive teamwork experience.
I had a coworker who addressed my team about some difficulty they were having collaborating with us. They spoke directly, telling us we needed to get our act together and stop making half-baked requests. They were visibly angry and contemptuous. We all became much more fearful about talking to that person.
The next couple of days I heard they went on an apology tour. But I got skipped because I was on vacation. My rational self was fine with that, knowing stuff happens. But my emotional self responded with a knee jerk fear response when I walked into a room with that person. It’s an extra bit of stress I had to manage.
If this person practiced NVC I would not have had that experience.
What's wrong with saying "hey dude, no need to get angry, let's figure out how to get you better requirements. how about we try xyz and you come back to us in 2 weeks and tell us if we're doing better"?
If he apologized to everyone but you, maybe say "I heard you apologized to some people about last week's tension, I just wanted to let you know that we're all on the same team and there's no hard feelings, your concerns are valid and we'll work on them together".
Your reaction shouldn't be fear and extra stress. It should be about how you can help your fellow workers through the day and help everyone meet their goals. The whole idea that you'd have fear as a response to a co-worker is crazy to me.
If you can't have that type of conversation with your co-workers and get good results, it's probably not because you employed the wrong conversation tactic. It's probably actually because they don't trust you, which would make sense if you've been forcing them through a conversation algorithm instead of treating them like humans.
A direct approach used carelessly can cause the other side to feel a lack of psychological safety, which is an important characteristic to effective teams. For example, in your comment, you effectively invalidated the previous commenter's feelings and implied they were crazy for feeling that way. If your goal was to create an environment for collaboration and a meaningful dialogue, you probably failed to do so, since you come across as someone who won't bother empathizing. Were you in the same team as this individual, they would also likely be hesitant to collaborate with you, which ultimately impacts your and your team's ability to achieve desired outcomes and goals.
So, theoretically, you read that previous paragraph and didn't feel anything negative (annoyance, anger, or whatever). And if you're able to do that, I commend you-- but you need to realize that not everyone can do that. Feelings exist in other people, regardless whether you think they're valid. And if you're truly interested in solving problems effectively with other people, then you're going to have an easier time adjusting your communication style rather than telling someone to feel emotions in a way they may have no control over.
You can blame the person for being angry or you can blame yourself why you cannot face other people's negative emotions. I dont think that the solution exclusively lies with the angry person in this case.
This is usually code when people just like to be assholes. Building software requires communication with people. Dealing with all people, even engineers, requires tact. Having a framework for how to deal with people in general is great, even better is knowing your team so well that you can adjust to each individual.
The approach is: observe facts -> note feelings -> uncover desires -> make requests.
For software development, I recommend a NVC approach called "Crucial Conversations". I summarize it on my repo.
https://github.com/joelparkerhenderson/crucial_conversations