Last week, by great chance, I observed two of my respected colleagues practicing pair programming for a job interview.
Sitting two meters away, I noticed that during the process of implementation, they didn’t interact frequently. The interviewee was writing code on the computer, and the interviewer was contemplating the best way by drawing some sort of sketch on a piece of paper. One hour passed, and they didn’t talk much.
I believe there is something wrong with this picture. From my perspective, pair programming should be an intensive process of collaboration. Why don’t they exchange their ideas? Perhaps these two colleagues were evaluating the difference between an on-computer test and pair programming? By inspecting carefully I discovered that the interviewer was sitting a half meter away from the interviewee, and the relation between them seemed quite loose.
I decided to do an experiment. I moved to sit beside the interviewee, sitting around 10 centimeters away staring at the monitor but saying nothing. After no more than three minutes, something remarkable happened: the interviewee spontaneously tried to explain to us every line he had entered. Soon both the interviewer and the interviewee were gathered closely and discussing warmly again.
This experiment proved that in pair programming the distance in both the physical and mental space between the participants is very important. The farthest distance in the world is not the distance between life and death, but you not knowing what I am thinking and doing even when you sit beside me.:)