Saturday, October 3, 2009

Pair Programming in an Office Cubicle

I'm really impressed with development teams that pair program, it alleviates a lot of development pressures. Companies like Hashrocket are leaders in pairing practices, In his post Obie describes what's "required" to equip your pair programming environment.

Yeah, all that extra equipment is nice, but what if your team is locked into a typical office cube setup?

  • Is it possible to comfortably pair in cubicles?
  • What if you can't afford wide desks and a bunch of huge monitors?
  • Must pairs be co-located?
  • Can a typical office setup accommodate pair programming?



Check out this photo of my most excellent team-mates arranged in typical office cube fashion.


I like these cubes, the low walls make it easy for us to communicate.


Yup, even cubes can be can be conducive to communication. Meet my cube neighbor Rach. See how easy it is for us to converse? So, let's do some pair programming in the cube!


Oh, I hear ya... "how can you share a monitor across a cube?" MS Team Viewer to the rescue! Team Viewer is Microsoft's screen sharing app, it's easy to use, free to try, secure and IP based. Team Viewer faithfully reproduces your screen on your pair's monitor, plus it allows your pair to drive from where they sit with their mouse and keyboard.

Now, you're both viewing the same image and you're conversing face to face, what else do you need?

Ok, I hear ya..."how can my pair see me pointing at their egregious coding error on the screen?" ZoomIt. This is a free utility from TechNet that turns your cursor into a pen, so you can draw on your screen, mark-up and highlight any area on your screen and wipe it clean when you're done

Pairing on two machines is way better than one. Suppose you need to IM a quick question to your stakeholder or check on the progress of the build; your pair can keep stubbing out the new class while you Google up the crazy syntax on that overloaded method. This setup creates the best of both worlds.

Speaking of the world; add a headset, webcam, skype and now you're pairing anywhere...with anyone! So, still think you need a 42" plasma and dual keyboards, forget 'em. Now, go forth and pair.