Screen pairing

Corey Haines is making a tour of the US Midwest, pairing with people. I was happy to host him for the past two days. He introduced me to a style of pairing I’d never done before. What you see on the right is how we worked the whole time, each with our laptop, sharing the screen (via iChat).

I found myself preferring this style to pairing side-by-side in front of a screen. I even prefer it to sitting in front of two side-by-side screens with two keyboards. The work is more free-flowing and conversational. It’s easier to note the other person’s body language. It’s easier to stop coding, look up, and talk to each other. I found the switching between people more fluid, with fewer episodes where we were both going for the cursor at the same time.

On the downside: it may be a little harder to make sure that one one of you is filling the “navigator” role—stepping back and keeping track of the big picture. But I find that’s hard to ensure in any case.

I recommend you give it a try.

(The chair on the left, by the way, is where I do most all of my work. I recommend big bay windows with smallish panes for all kinds of hands-at-keyboard work, especially if you live on a nice old brick street with big trees.)

20 Responses to “Screen pairing”

  1. Corey Haines Says:

    That definitely was both a great spot to pair; I’m glad I got to introduce you to my preferred way to pair. I especially liked the rocking chairs. I’ve usually had to do this sort of pairing at a table, sitting across from each other, but it was much more fun on comfortable chairs. :)

    I especially like the first picture with a screen full of green! Time to refactor!

    thanks again for hosting me!

  2. unclebob Says:

    Hay Corey,

    What are the 8 squares on the cover of your MacBook?

  3. Steve Donie Says:

    Agreed - I like this style of working as well. I have used this for a couple of years, starting with Jeremy Miller and Jeff Palermo at DataCert. We used VNC for the screen sharing. I’ve also done the same thing with a remote pair, using skype or yahoo voice for the voice channel. Not quite as fluid as in-person, but better than not pairing at all.

  4. Lisa Crispin Says:

    A picture window with a view of the Front Range works well too, even so, I haven’t lured anyone to my house to pair with me…

  5. Ron Jeffries Says:

    Chet and I have been pairing that way for quite some time, using VNC. This is primarily because I feel uncomfortable sitting cheek by jowl with him. We already finish each others’ sentences. My hitherto robust heterosexuality feels threatened sitting right together yammering on the way we do.

    Not that there’s anything wrong with the other way. It’s just that I’m saving myself for Hill.

  6. Geoffrey Wiseman Says:

    So, when you switch roles, do you commit and switch which computer you’re sharing, or are you typically sharing a single computer for the actual work for a session (albeit experiencing that work through two different “thin clients”)?

  7. Corey Haines Says:

    The 8 squares are velcro. They are there to hold external hard drives, such as my itunes library. I got tired of them dangling on usb cables, so they now sit snuggly on the back.

  8. Corey Haines Says:

    Geoffrey,

    Usually use the same computer. We paired on Brian’s machine the whole time.

  9. Corey Haines Says:

    Be careful what you wish for, Lisa! :)

  10. Brian Marick Says:

    One other thing I forgot to mention. This setup also makes it easy to split up to do research - the person with the window to the other computer just minimizes it, then you go your separate ways.

    Geoffrey: We could have switched machines because all the bits required to work on the example were either in the repository or are standard across Macs. Since Corey has TextMate bundles I don’t have and his view of my screen got a little laggy when we went to a coffee shop, that might have been more fair.

  11. Pair Programming: What works for me at Mark Needham Says:

    […] example, I recently came across the idea of screen pairing from Brian Marick’s blog - an idea that he learnt when pairing with Corey Haine’s on Corey’s pair […]

  12. Joe Says:

    Good to see advances in the state of pair programming - it needs it. Any idea how vile it is having to pair with an unwashed, arrogant, and incompetent peanut for 100% of your day? Its painful. Pair programming, a little gem introduced by the Agile zealots, is actually punishment if you work in the teams I have. Sitting there being bored senseless while said peanut exhorts the virtues of Ruby (or the next language de jour) is just painful. Did I have anything meaningful to add? Only that its good to see the need for being able to split off to do research, two keyboards (!), personal space etc etc being mentioned. They’re pretty much mandatory for having a decent experience. Otherwise I’ve found PP to be a large, large waste of money and time.

  13. blog.adsystems.com.br » A viagem de um homem numa Jornada com Pair Programming Says:

    […] Brian Marick sobre os problemas e alternativas para desenvolvimento orientado a testes de aceitação, também leva suas "duas telas em par". […]

  14. Stunned Says:

    Seems amazing to me that so many people think this is amazing. I heard about this for the first time on .net rocks and could not believe it, at first I thought it was a joke.
    Good luck.

  15. fraud Says:

    I think Corey Haines has hit the nail on the head:

    1) Pick a line of work

    2) Wake up one morning and call yourself a crasftman in that line of work

    3) Don’t proceed quietly, honing your craft every day to the satisfaction of what you claim to truly be interested in, rather (see #3)

    3) Begin travelling around and meeting with others who want to hear you pontificate. Once they have been in your presence, call them crafstmen too. (It gets better, see #4)

    4) Pontificate to everyone by blogging about the pontificating you’ve done with the person you just crowned as craftsman.

    Brilliant!

    The best thing is this… let’s start doing this in other areas of science/business/arts/technology.

    Maybe for Doctors? Carpenters? Architects? Firemen? Astronauts?

    Maybe people in all of these fields do not really need to contribute other than by travelling to other people’s houses, pontificating, then granting them the title of crafstman as well.

    Awesome… I am healed and enlightened by Corey Haines.

  16. Brian Marick Says:

    Fraud: Corey came and helped me. This post may help other people. Nothing Corey does will (most likely) affect you in the slightest, so why not ease up on the spite?

  17. bonniea Says:

    How did you find the latency with using iChat? I’ve heard of some teams having issues when they attempt this technique with That One Remote Guy

  18. uberVU - social comments Says:

    Social comments and analytics for this post…

    This post was mentioned on Twitter by utahkay: Hey @marick @coreyhaines: “Screen programming” pic of you two, from @marick’s blog, I want to use it on a slide. May I? http://tr.im/x0UO…

  19. Graham Brooks blog » Face to Face pairing Says:

    […] about this problem I remembered reading an article about face to face or screen pairing. Screen sharing software is available for most operating systems these days and for OS X users the […]

  20. Programação em Pares: Lado a lado ou frente a frente? | SWX Softwares - Desenvolvimento e Design Web Says:

    […] e Corey experimentaram este modelo e o acharam bastante efetivo. De acordo com Brian, ele acabou preferindo esta forma de parear ao modelo […]

Leave a Reply

You must be logged in to post a comment.