The Joy of Two (pair programming)
nakedstartup.com
nakedstartup.com
I've tried it in other circumstances as well but it ended up seeming like mostly a waste.
- It works very well if both of you are experiencing a language for the first time so you can both help each other with syntactical traps that you may find yourself in as well as other quirks that emerge with new languages.
- It doesn't work as well for projects in which you both know how to code. Having another person watching you code over your shoulder is distracting and stressful, and often it would be more efficient for that second person to code simultaneously with you.
However, these are only my experiences, and I'm sure they change from person to person. I'd recommend that everyone try it at least once - it may work for you, and you probably won't know until you try.
I pair code fair bit at work, and it's because other people can spot the mistakes in design that are made very quickly, because they aren't focussing in on the specifics, and so can keep the big picture in mind.
After a while, it feels pretty natural. And productive. Also, there's less burnout, more useful socialization. We've also gone the Nerf gun/slackline/juggling balls route for taking quick breaks between chunks of features. After the first person you seriously pair program with, it becomes easier in general. You're free to find your own similes.
It's easier to flow. See http://www.c2.com/cgi/wiki?MentalStateCalledFlow and http://www.c2.com/cgi/wiki?MyMindKeepsWandering
- how often do you change seats?
- don't you feel extra tired at the end of the day because of all the constant input and discussion?
B) Yes! It is definitely more taxing. That's why there is the idea of the "Eight Hour Burn." Pairing takes it out of you.
B. Yes, it is slightly more taxing than working solo, but the advantage is that you feel more productive and better about yourself because you've completed a lot of stuff in a day.
Just to illustrate this - we've done four sprints of one-week each so far, and in every sprint we've achieved more than we had planned to do (even though are targets are quite ambitious).