I only had one experience with pair programming, and it was a positive one. Both in terms of emotional satisfaction, and productivity.
But I suspect that it is a pleasant experience when you are paired with a person you would otherwise enjoy talking to about programming. Because that’s more or less what it is, except you are also producing the code you talk about.
If I had to pair-program with a person I don’t “click” with—either because of personality, or because of wildly different opinions on what is the desirable way to write code—I can imagine it could become a form of torture. (But that’s just a guess; I didn’t have an opportunity to try.)
For this reason, I imagine the answer to whether “pair-programming is better” would depend on many things. How compatible are the team members? Are you allowed to choose your pair, or do you get one assigned against your will? (What happens when one member of the pair takes a vacation?)
But talking openly about personal compatibility is something I can hardly imagine in a workplace. I mean, jobs are usually hierarchical, hierarchical environment is antithetical to sincerity, expressing your true feelings could be taken as unprofessional behavior; so you could get people reporting that they “click” with everyone (or everyone high-status) just because they want to be seen as “team players”, or because they want to be paired with someone highly productive so that their pair productivity will also be high.
In summary, I imagine the proper research would need to take personal compatibility into account, but there are incentives to provide wrong information. The research would have to address this.
I only had one experience with pair programming, and it was a positive one. Both in terms of emotional satisfaction, and productivity.
But I suspect that it is a pleasant experience when you are paired with a person you would otherwise enjoy talking to about programming. Because that’s more or less what it is, except you are also producing the code you talk about.
If I had to pair-program with a person I don’t “click” with—either because of personality, or because of wildly different opinions on what is the desirable way to write code—I can imagine it could become a form of torture. (But that’s just a guess; I didn’t have an opportunity to try.)
For this reason, I imagine the answer to whether “pair-programming is better” would depend on many things. How compatible are the team members? Are you allowed to choose your pair, or do you get one assigned against your will? (What happens when one member of the pair takes a vacation?)
But talking openly about personal compatibility is something I can hardly imagine in a workplace. I mean, jobs are usually hierarchical, hierarchical environment is antithetical to sincerity, expressing your true feelings could be taken as unprofessional behavior; so you could get people reporting that they “click” with everyone (or everyone high-status) just because they want to be seen as “team players”, or because they want to be paired with someone highly productive so that their pair productivity will also be high.
In summary, I imagine the proper research would need to take personal compatibility into account, but there are incentives to provide wrong information. The research would have to address this.