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

Published Wednesday, October 13, 2004 11:41 PM

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 two large 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 workstation and one from our notebooks.  This allows us to use VNC while actually looking at the real signal from the workstation which helps if VNC gets laggy. (Bob figured this one out!)

Thanks to my colleagues, Bob and Mark for their input in our experiments and to Ed for funding everything!

What are your experiences with Pair Programming configurations?

UPDATE (10/14/2004)
Jeff
- 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 is my favorite ergonomic keyboard so I picked up 3 from Ebay and hoarded them since they don't make them anymore. :-(

Comments

# Page Brooks said on Thursday, October 14, 2004 9:31 AM

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

# Will said on Thursday, October 14, 2004 9:38 AM

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.

# Bob (yes, The Bob) Flanders said on Thursday, October 14, 2004 10:19 AM

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).

# Gary Pupurs said on Wednesday, November 3, 2004 1: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...

# Jonathan Cogley said on Sunday, November 7, 2004 10:23 AM

Gary,

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.

This Blog

Syndication