Collaboration can mean a lot of different things, with different levels of scope.
We have retrospectives, stand-ups, story planning meetings, and all sorts of things that allow us to interact, and collaborate with our fellow software craftsmen, and craftswomen; However nothing out of the Scrum suite is as personal as the XP idea of Pair Programming.
It’s hard. It’s really hard.
I’ve always said that the most complex systems, or complexities within a software project are almost undoubtably ones executed by people, not computers.
Learning to collaborate, and pair effectively really expects you to court a relationship, and understanding beyond the traditional interaction, and passing of a professional colleague.
There are all sorts of complexes that you simply must break-down in order to establish a good pairing relationship. The process of pairing may reveal all sorts of things that you never knew about yourself. Some uncomfortable, but necessary dynamics to address :
- Fear. Let go of the fear of being embarrassed; or the fear of not being smart enough, or good enough. It’s okay to not know everything. Actively state it. It will free you from the expectation.
- Humility. You have value. You have something your partner does not; I guarantee it. Conversely, treat your pairing partner with the same sentiment.
- Distraction. Arguing has it’s place, but maybe not for an hour. Time box your disagreements, and come to a consensus on what’s small. If it’s small, it can be tabled. Maybe a further development will change your opinion? Either way, don’t let small stuff block productivity
- Exhaustion. Some people require space, and time alone to think. Almost everyone benefits from a break from pairing every now, and again. If you, and your partner are struggling with something, take a coffee break, and focus on something else for a while.
I’m still learning how to become an effective pairing partner. If I learn more, I’ll share.
By the way, some of what I touched on was inspired by this conference talk. I highly encourage you to watch.