This is very interesting, especially in light of certain software development approaches such as XP, where you're told to work in pairs as much as possible. Many people argue that you haven't truly experienced teamwork until you've pair developed for a whole workday together for months at a time. The approach works for several companies, Pivotal Labs comes to mind.
I've personally experienced benefits of that work style, but at the same time I've always wondered if in the process you lose the opportunity to be by yourself and deeply and creatively think about a problem from different angles, without having to share that with anybody while it's still brewing.
On the other hand, you have companies such as MySQL that were almost entirely remote, and still managed to get lots of great technology built, rarely, if ever, working in the same building. That did the trick for them, they were also quite successful.
I think at the end of the day you can have the cake and eat it too. How about this: if you need to do some deep thinking or some heavily creative work, you can do it on your own terms, by yourself, late at night, like the Woz would prescribe. If you need to do some work that you can easily wrap your head around, then working closely together with someone else or a larger team is a likely boost in effectiveness, as it provides you with safeguards and spare pairs of eyes.
I don't disagree with you, but I think pair programming (at least as how it was explained to me, and how I've approached it in my studies/work) is less a mechanism to foster creativity and more as a 'second set of eyes', a way to alleviate tunnel vision. (I not-so-fondly remember staring at an error-throwing piece of code for at least twenty minutes until a friend pointed out that I had accidentally used a ')' instead of an ']').
I vaguely recall reading somewhere that pair programming wasn't meant to be for more than a few hours a day (like 4). An agile coach I know agreed with this. But I can't easily find this caveat on the net.
I remember seeing that, you're right. I believe it's actually in Extreme Programming Explained, or in one of those other core books. If I recall correctly, the guideline was to avoid pair work at maximum intensity for longer than 4 hours (small breaks are implied).
I've personally experienced benefits of that work style, but at the same time I've always wondered if in the process you lose the opportunity to be by yourself and deeply and creatively think about a problem from different angles, without having to share that with anybody while it's still brewing.
On the other hand, you have companies such as MySQL that were almost entirely remote, and still managed to get lots of great technology built, rarely, if ever, working in the same building. That did the trick for them, they were also quite successful.
I think at the end of the day you can have the cake and eat it too. How about this: if you need to do some deep thinking or some heavily creative work, you can do it on your own terms, by yourself, late at night, like the Woz would prescribe. If you need to do some work that you can easily wrap your head around, then working closely together with someone else or a larger team is a likely boost in effectiveness, as it provides you with safeguards and spare pairs of eyes.
Thoughts?