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?
- 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
- Pros:
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. :-(