Home > .NET, Pair Programming, Test Driven Development > Pair Programming – The Ultimate Setup and the other options we tried.

Pair Programming – The Ultimate Setup and the other options we tried.

We have tried various equipment and configurations at my current client to determine the optimal pairing environment. Such as:

  • Sharing one workstation
    • Pros: ? 🙂 (maybe cost and office space)
    • Cons: Only one keyboard/mouse for input, difficult to see screen, no privacy, cramped
  • LCD Projector
    • Pros: Highly visible
    • Cons: Limited lifetime, setup and lamp cool down time, unavailability of projector, no privacy
  • VNC’ed notebooks
    • Pros: Two keyboards/mice for input, own screen for viewing
    • Cons: No privacy for the desktop sharer, powerful notebooks are very expensive, interfering non-development applications (IM, Email, etc)

So, what did we finally settle on?

Ultimate Pairing Setup!

  • VNC‘ed notebooks to one powerful desktop pairing station and twolarge LCD monitors!
    • Pros:
      • Cheap powerful workstation (under table) for compiling and running tests
      • Highly visible – big 17″ LCD screen for watching pairing desktop
      • Privacy – own notebook screen for email, IM, etc.
      • Pairing workstation has only the development essentials plus a “pairing” IM account
    • Cons:
      • Cost of the powerful workstation (although much cheaper than keeping notebooks upgraded)
      • Takes up more office space

Performance Tip: Our LCD monitors have dual inputs so we put the one from the workstationand one from our notebooks. This allows us to useVNC while actually looking at the real signal from the workstation which helps if VNC gets laggy. (Bob figured this one out!)

Thanks tomy colleagues, Bob and Mark for their input inour experiments and to Ed for funding everything!

What are your experiences with Pair Programming configurations?

UPDATE (10/14/2004)
– we set VNC to take inputs from both keyboards and mice, this eliminates the otherwise annoying “no, no… over there!” (while pointing frantically at your own screen which your partner can’t see!). This allows either person to “chime” in at any point and probably increases productivity even further. We also like the sitting across from each other as this facilitates better communication – you can just look up and talk directly to your pair. Another interesting challenge of the dual VNC for input is that you all share a global clipboard which can get interesting if someone has to fire off a quick email or something … 🙂
Will– Both of those are Acer Ergonomic keyboards (both are exactly the same model). It ismy favorite ergonomic keyboard so I picked up 3 from Ebay and hoarded them since they don’t make them anymore. 😦

  1. Page Brooks
    October 14, 2004 at 1:31 pm

    That is a great idea! I think I will try that!

  2. http://
    October 14, 2004 at 1:34 pm

    VNC is actually an interesting setup, giving you the ability to do “virtual pairing” even though in this case you’re near the same location, albeit on opposite sides of the table.

    How are you passing control between keyboards and mice in this set up? In the 1 keyboard, 1 mouse approach there is a physical transfer… Not that I’m sure that makes a bit of difference, just curious.

    I thought this article had a little more on pair programming set up, but it didn’t.


    It’s still a good read if you’re into torturing yourself with things you’re not likely to see in any company you work for in a while.

  3. http://
    October 14, 2004 at 1:38 pm

    What kind of keyboard is that on the left? and what is that above the mouse on the right (not the binary clock, the white keyboardy looking thing)? Always on the lookout for input devices.

  4. http://
    October 14, 2004 at 2:19 pm

    Another con with this setup is the occasional bouts of lag that VNC seems to experience processing the keyboard/mouse messages arriviong over the TCP/IP connection. This usually occurs when the system is experiencing high utilization (such as when compiling).

  5. http://
    November 3, 2004 at 5:18 pm

    Have you found a good combination of VNC software and settings? I use VNC occasionally (on older boxes without TS/Remote Desktop), but every time it is SO sluggish and slow compared to Remote Desktop sessions that it’s hard to be productive. I’ve tried RealVNC and TightVNC, though I have not tried tweaking settings from default, other than setting colors to 256.

    I’ve found VNC over 100 Mbps local network to be much slower than Remote Desktop over 1.5/768 DSL…

  6. Jonathan Cogley
    November 7, 2004 at 3:23 pm


    We currently use RealVNC and as you (and Bob) mention there is a lot of lag. Our workaround is to use the real signal t from the workstation monitors rather than the VNC window which seems to help since most of the lag is graphics related (rather than input). We can then adjust the VNC options down to 8 color since we see the real screen.

    Another option in VNC that seems to help a little is to turn off displaying wallpaper when in VNC.

    We haven’t looked much into Remote Desktop for pairing due to licensing costs.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: