I'd recommended a group consider pair-programming as a technique to help everyone learn more about the system. One of the developers came up to me later and said, “How do I give feedback while pairing?” I said “Nicely,” and promised more specifics. Here are my guidelines for pairing feedback:
- Explain the effect on me for that line of code/writing. “I'm confused by that…” with the specific confusion.
- Recognize when it's time to change positions. If I'm the navigator and I object constantly, it's time to change seats.
- If one person says, “I wouldn't do it that way,” the other person has the right to say, “Ok, but we both have to live with the product; this isn't just yours.”
- Don't label the work product. “This code is awful” is useless feedback. It doesn't explain what's awful, and the label feels like it's on the person, not the work product.
- Meta-feedback: Listen for laughter or some other expression of enjoyment. If no one is laughing or obviously enjoying the pairing, something could be wrong. When Esther and I stopped laughing when we were writing Behind Closed Doors, we knew it was time to stop for the day.
I'm sure there's more and I'm blocked for now. If you have a favorite mechanism for feedback while pairing, please comment. And read some of Esther‘s writings on feedback, especially Peer-to-Peer Feedback.