Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

The article "Promiscuous Pairing and Beginner’s Mind" (PDF) suggests that you put someone in the pair that knows the least about the particular area of the code base. It also suggests that you swap out the senior member of the pair every 90 minutes or so. Not only will the newbies learn about that area of the code but they will also think differently compared to someone who already knows the area.

Does anybody have experience with this strategy? Does it have any connection with reality?

I found other questions about when to use pair programming and whether to accept a job where pair programming is required, but I didn't find any that are specifically about promiscuous pairing and this "beginner's mind" strategy.

If you are unfamiliar with pair programming, there are interesting articles on Wikipedia and c2.com.

share|improve this question
    
What exactly is the difference between Pair Programming and Promiscuous Pairing? –  Fosco Sep 29 '10 at 19:58
    
See also: meta.stackoverflow.com/questions/22795/… –  Shog9 Sep 29 '10 at 19:58
    
@Fosco, I think promiscuous pairing is when you swap partners frequently and make all possible pairs within the team. However, I'm asking about the specific strategy where you always swap out the senior member of each pair, and bring in the developer with the least relevant skills. The paper I linked to distinguishes between skills and competencies. (Skills are more specific.) –  Don Kirkby Sep 29 '10 at 20:51
    
I clarified the question and changed the title, since it was more about a specific strategy than about promiscuous pairing in general. –  Don Kirkby Sep 29 '10 at 20:55
add comment

1 Answer

I think your question understates (perhaps, confuses) Pair Programming and Promiscuous Pairing.

When you do pair programming and one of the programmers knows way more about the task at hand, the other programmer learns very quickly (the languages, the tools, the design or requirements of the product they're working on. I do have experience with that and highly recommend it for bringing your co-workers or yourself up to speed.

The idea of Promiscuous Pairing is when you have N programmers on the team and make all possible pairs out of them and rotate those pairs frequently, then such knowledge spreads throughout the team very quickly.

share|improve this answer
    
Sounds like you've had success mixing experts with newbies. Do you think at least one member of the pair should always be an expert? What I'm asking about is the specific strategy advocated in the article I linked to that suggests selecting the least experienced developer for each task, and always swapping out the senior member of a pair. The claimed benefit is that newbies will bring "beginner's mind" to the task, ask insightful questions, and make creative suggestions. I would love to hear from anyone who has tried this specific strategy. –  Don Kirkby Sep 29 '10 at 20:47
    
@Don: (sorry it took me a while to reply, I've taken a long break from the site). If don't think one member of the pair should always be an expert, but if both are newbies, that's not good. They will make newbie mistakes and perpetuate them. At the same time, there's nothing wrong with asking "newbie questions" - as long as the pair can answer them! –  azheglov Mar 5 '11 at 16:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.