Pairing Styles
Overall, pair programming isn't as controversial as you've heard. It depends on your styles of pairing. Some styles of pairing are very common, even among non-agile teams. They tend to be episodic, and last just long enough to get or give some aid. The good news is that they work. If a team views pairing with trepidation, these are common, non-threatening forms to start with:
The problem with peer pairing is that to the observer it might seem like rescue pairing or training. If you are always being trained or always being rescued, then you might seem like you're not much of a programmer. In this case, seeming is the enemy of being. A team may be so concerned about seeming competent by not pairing that they don't increase their competence by peer pairing. I suggest that this is a human foible, and we have to recognize.
When we talk about pair programming, we usually intend peer pairing (and the other good types at the top of the list), but people often hear us as meaning one or more of the bad types in the middle.
I hope to rephrase the question. When you tell me you "don't believe in pair programming" then I hope to ask you about the pair programming you object to. Chances are I will feel the same way, and with that out of the way we can talk about the kinds of pairings we might actually try.
- Rescue Pairing
- Training Pairing
- Brainstorming
- Experimenter/Researcher
- Worker/Rester
- Worker/Watcher
- Master/Slave
- Bully/Victim
- Writer/Critic
- Ball-and-chain pair marriage
- Peer pairing
The problem with peer pairing is that to the observer it might seem like rescue pairing or training. If you are always being trained or always being rescued, then you might seem like you're not much of a programmer. In this case, seeming is the enemy of being. A team may be so concerned about seeming competent by not pairing that they don't increase their competence by peer pairing. I suggest that this is a human foible, and we have to recognize.
When we talk about pair programming, we usually intend peer pairing (and the other good types at the top of the list), but people often hear us as meaning one or more of the bad types in the middle.
I hope to rephrase the question. When you tell me you "don't believe in pair programming" then I hope to ask you about the pair programming you object to. Chances are I will feel the same way, and with that out of the way we can talk about the kinds of pairings we might actually try.
Comments
Post a Comment