There were whiteboards, snacks, rating each other’s themes, and jokes.
What worked very well was to pair for conceptional problems, like architecture and defining modules and their interfaces. Commit some types and pseudo-code.
We’d then break away and work at our own speed and in our own style using the common foundation.
Come together to integrate and discuss.
Pairing is also worth it’s weight in gold for debugging. It’s like a rubber duck, but doesn’t feel wrong.
It is of course of utmost importance that both parties enjoy it. Else it’s pain and a waste of everybody’s time. I had a colleague who hated it like the plague. In which case short code/review cycles worked best.
A good tool, if employed correctly. Like most things, really. And fuck management if they force it down on me.