Morning!
We implemented pairing at Shutl, starting just over a year ago, and have had good successes. It is okay to "encourage" a way of working - but encourage in the non-euphemistic sense. Here's some way to encourage:
* Create dedicated pairing stations. If the machine you're pairing on belongs to one of the members of the pair, it's not a neutral environment. It's their email that pops up, their tweets that show, their IRC. It's also their editor and their keyboard shortcuts. Create neutral pairing machines, owned by nobody, where each person has equal footing - one computer but two keyboards, two mice and two big monitors. This isn't too expensive - a mac mini can support multiple monitors.
* Once you have a neutral physical environment, you need a neutral programming environment. These were particular gripes here and I know members of the OTB team that have complex setups too - we had people with very peculiar setups, non-standard (mouse-less) keyboard layouts and aliases/bash configs that took years to hone and learn. I know this is a controversial opinion, but I am against all of this nonsense. It reinforces the idea that code is in people's heads waiting to mined - and the speed of the mining is what's important. Our pairing stations have all Shutl components and sublime, atom, rubymine and vim installed on them, and people agree at the start of the session what to use. It's a point of pride for many of our team that they can use any editor. We also have a few shared aliases that everybody can agree on, and boxen installs these and maintains them. Boxen is open to modification from everybody.
* Lead by example - this is easy. At the standup, see the feature that's coming up and just grab someone and suggest you pair on it. Not two other people... you and one other person. Do that for a morning and give and get feedback from your pair.
* If you're following github flow and pull requests, relax rules on code review. We don't require sign off from others for pull requests that have been paired upon. We always still open the PR and sometimes the pair asks for feedback, but mostly PRs are for information (and are opened and marked as "WIP" when the feature is started, not only opened at the end). Removing code review is an easy way to speed up development with pairing... but use with caution, obviously :)
* Make it clear that you want to try pairing as a tool to add to your team's arsenal. You're just increasing firepower. You don't have to pair on everything, and it's not a failing if people can't pair. Mostly, people don't pair *because they can't pair* - it's not taught well. Show why it's useful first, teach second, preach last.
* Recruit for it - we explicitly test pairing in interviews. We've had people sit down in tests and immediately switch the machine/keyboard layout into their mother tongue, insist on using their personal vim config set, etc etc. That's a red flag.
* Bring in external evangelists. Pivotal Labs are new to London and a year ago they were looking for their first project - we bought them in to help with a green field project we wanted to run, but also integrated them with the existing teams with the explicit aim of teaching pairing. These guys are world-class developers and are taught/teach pairing as their full-time job. We had a couple of their team on site for a few months, and the "pairing is great, we can do it" attitude was very helpful. There are lots of good houses that can do this for you
* One particular way in which pairing is useful is onboarding new team members - people can get up and running really quickly when they're paired with somebody, and obviously a "buddy" for the first couple of weeks to show you the ropes and the lunch haunts is a good idea anyway. For existing team members, the burden of new people is reduced :)
Be honest with yourself on expectations regarding timescales. One year later, we pair most of the time. Three months after we started, we had some people who still didn't like it much. But, our staunchest critic (and the guy who's set up was completely unusable to another human being) is now our biggest pairer. But it takes time and it'll be frustrating along the way. If you didn't get resistance on day one, that would be bizarre to say the least!
Good luck and feel free to ping me off list if you need a hand. As you know, I have particular and extensive experience of OTB :)
Cheers,
Sam