Nov 02 2011

Group Programming, Projectors, and Big Screen HDTV

Published by at 6:23 pm under Technology   

I’ve done a fair amount of pair programming over the years. My “Ward Number” is 1, if anyone recognizes the reference. But we pair only occasionally at Oasis Digital. Like Jeff Atwood, we don’t live the pair programming lifestyle. For our particular mix of people and problem spaces, we’ve found the sufficient amount of pairing is roughly a couple of times per week, a couple hours at a time. We’re a partially distributed team, so this often occurs via screen-sharing tools instead of at the same desk.

However, we do something perhaps even more “extreme” than pair programming: we spend a few hours every week programming in larger groups, sometimes as many as three of us in person and a couple more remotely. Why would anyone do that?

  • To attack particularly hard problems
  • To resolve important detailed design issues
  • To share our programming style and culture
  • To freshen old skills
  • To build new skills
  • To efficiently pass knowledge 1->N, rather than 1->1

I don’t quite know what to call this. Group programming? Cluster programming? N-tuple programming?

Regardless, we encounter an unavoidable issue: it is not pleasant for several people to cram in front of a PC monitor, even a large one, closely enough to read it. We’d rather spread out, particularly for sessions lasting a couple of hours straight.

In the past at other firms I’ve solved this by working in a conference room with a projector. This doesn’t work very well. Most projectors have a maximum native resolution of 1024×768, or occasionally a bit higher, and those with reasonably high resolution are quite expensive. The reward for spending that money is continuous fan noise and an exhaust heat plume blowing on someone sitting on the unlucky side of the table.

This time we went a different direction: our group programming lair features:

  • 40-inch LED-LCD HDTV, with a native resolution of 1920×1080, which generates no noise or heat, at less¬†cost than a¬†mediocre projector
  • A dedicated computer, so noone’e development laptop is occupied
  • wireless keyboard and mouse can be easily passed around
  • Speakers and a standalone mic, for very clear Skype audio
  • Nearby tables to accomodate everyone’s laptops, with 22/23 inch extra displays available

It isn’t pretty:

It is very effective. We can comfortably work together in this area for hours, easily reading the screen from 6-8 feet away. (As I write this, I note that the room needs better chairs, a less beige color scheme, a printer that isn’t older than my teenager, and more Apple hardware.)

This approach isn’t for everyone; it requires a willingness to move furniture and buy non-standard equipment. I’d love to hear from anyone else doing something similar. In particular, I wonder how it compares to Pivotal’s setup.

 

If you found this post useful, please link to it from your web site, mention it online, or mention it to a colleague.

4 responses so far

4 Responses to “Group Programming, Projectors, and Big Screen HDTV”

  1. Susan Potter says:

    Our NY office has this in the conference room there. I am distributed so we use Skype for the call audio and occasionally the screen sharing when needed.

    What are your thoughts on the current remote screen sharing options out there and what do you use?

  2. Kyle Cordes says:

    So far, we’re tried several screen share tools with varying levels of success. When we settle on one ‘for good’, I’ll write a blog post about it.

  3. Ants says:

    How do you handle developers who use different keyboard layouts like Dvorak, or base languages? Force everybody to use US-English QWERTY?

  4. Kyle Cordes says:

    The setup shown is in our office in the middle of the US; everyone uses US-English. So far, everyone also uses QWERTY. If we get an alternate layout user, we’ll need to come up with something creative. Fortunately, the group of smart folks here is up to the job.