Collaborating Effectively By Focusing on Understanding
A while back a friend gave me some important, but hard to hear feedback. She told me something to the effect of "you always assume other people are wrong, and it limits your ability to collaborate with people." I'd always considered myself a strong collaborator, so hearing that I actually had a long way to go was humbling. For the rest of the year I worked on breaking this habit with a simple mental framework: whenever I'm surprised by something, assume that the other person has already done what they believe to be the exact right thing." This simple idea was incredibly powerful for pretty much everywhere, but it's most handy in a few situations.
Project check-ins
When leading a project, it's common for something to take longer than expected. It's my job as a project lead to figure out how to unblock that. One way to do that is just ask "Hey Albert, what's the status on your piece of this project?". This is fine, but it also communicates "Albert, you have done a bad job on keeping people up to date on what's happening, and now I'm worried about it." It also doesn't put me in a position to actually help with anything that's going on.
Alternatively, I could ask "Hey Albert, how is your piece of the project going? Is there any way I can help move this faster?" Suddenly my question is no longer adversarial. Now I'm trying to figure out if there's any way we can move the project forward together. Maybe Albert will say "nope, this particular bug is really kicking my butt" and I can offer to pair, or maybe he will say "I keep getting random asks from another team, and that's distracting" and I can work with them to prioritize asks appropriately. Whatever it is, by explicitly offering to help rather than "just checking in" I've put trust in Albert and opened the door for a rich dialog about how we can effectively collaborate.
Design documents
Oftentimes I'll look at a design document and think "this decision seems wrong, they should be doing it another way". The naive way to approach this is to say "Samantha, this approach seems unscalable, we should do a different approach". However, this approach starts from the asusmption that Samantha is wrong and has made a poor decision.
If we instead start from the assumption that Samantha has made the right decision, our feedback looks like "This approach is surprising, as it seems like it would be less scalable then ${SOME-OTHER-APPROACH}, why are we doing things this way?" Suddenly my feedback isn't adversarial! Samantha can now say "That's a good point! I'll fix that.", or she may say "we considered that, but abandoned it for XYZ reasons". Whatever the answer, we can discuss it from a perspective of mutual understanding rather than oppositional disagreements.
As with all things this approach isn't perfect. There are sometimes where you just need to come in and drop the proscriptive-hammer and say "this isn't happening". Communicating this way also takes a little extra time, and may not be ideal for people who are used to a more direct mode of disagreement. However, I've found that taking a default posture of "this person isn't wrong, I just don't get it yet" my conversations are much more productive and collaborative.