Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

Pair Programming Ergonomics

One of the first things you need to do if you’re going to do pair programming is to get a good physical workspace.  I don’t know about you, but I’m not very effective if I have a crick in my neck or I can’t even see the code my pair partner is typing.  I know the original XP guys say to use a single keyboard and mouse, but my experience has been much better with a second monitor, keyboard, and mouse plugged into the shared workstation.  At any time both members of the pair can see the code and either can quickly take over the “driving.”  Do observe a little bit of etiquette with each other to avoid wrestling over who’s typing and moving the mouse at any time.


To pull it off, you really want a place where both of you can sit shoulder to shoulder without being cramped.  In my current office space in Austin I have a pretty nice desk with drawers on either side, but it’s terrible for pairing (we have to trade seats to switch the guy at the keyboard and that sucks).  When we move to a new (larger) space, I’m insisting on getting plain tables instead of desks.  Take advantage of the new world of notebook computers and wireless connectivity to just pick up and go somewhere else to find a better physical setup.  Always let the rest of the team know where you’re going and keep an instant messenger tool up if you do go off into the cafeteria though.


I would also say to have a whiteboard or notepad of some kind nearby so you can sketch things out together.  Noted methodologist Alistair Cockburn has famously described two people talking at a whiteboard to be the most efficient means of communicating ideas.  On a project last year we had 3 or 4 whiteboards on rollers that could be moved anywhere.  I promise you that we got far more bang for the buck from the couple hundred dollars we spent on the whiteboards than a typical team will get from a series of Rational Rose licenses.

About Jeremy Miller

Jeremy is the Chief Software Architect at Dovetail Software, the coolest ISV in Austin. Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy is the author of the open source StructureMap tool for Dependency Injection with .Net, StoryTeller for supercharged acceptance testing in .Net, and one of the principal developers behind FubuMVC. Jeremy's thoughts on all things software can be found at The Shade Tree Developer at http://codebetter.com/jeremymiller.
This entry was posted in Pair Programming. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://blogs.gotdotnet.ru/personal/Torero/ Sergey Zhikharev

    Very interesting articles. Thank you. I would also add that mentor role for the pair programming is really important. From my own experience I can say, that pair programming is more effective for relatively young developers.