In The Zone and Pair Programming
I think that anybody who ever done some serious development was in the Zone, that place where you can see the whole system in your head, and can see what would happen if you make this change. It's a happy place, and you can easily lose track of time (or meetings :-)) when you're there. It's also highly annoying to be taken out of it suddenly (phone ring, for instance).
So, given all that, why does pairing work? In the last couple of months I had a chance to pair with several people, some of them were better than me, some where worse (in the technology that we were writing with). Sometimes the difference were pretty big. Nevertheless, I think that I consistently find that I work faster, and actually have a lot more fun when paring. I recently had to do some math work with a friend, and the same thing happened there, I think that together we were three or four times faster than each of us on his own.
And we don't spend all the time developing, or solving math problems, we talk, argue, call each other stupid because of cource you can see that it does this because of that, etc. So, I can get why I'm productive when I'm in the Zone, but I never get the chance to get into something even remotedly similar to this when pairing with someone.
I think that this is in part because when you work with someone else you need to explain yourself to the other person as you go along, and as a part of that you explain to yourself. I can't really count the number of times that I've explained a piece of code (that I just sweated hours on) to a co-worker, and suddenly I take a piece of paper and start writing scenarios that I didn't even see before. I know that doing math problems it certainly was like that. I knew some stuff and the other guy knew some stuff, and by mutual argument we reached to the (possibly, at least 95.454%) answer.
Comments
Comment preview