11

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.

5
  • What exactly is the difference between Pair Programming and Promiscuous Pairing?
    – Fosco
    Commented Sep 29, 2010 at 19:58
  • See also: meta.stackexchange.com/questions/22795/…
    – Shog9
    Commented Sep 29, 2010 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
    Commented Sep 29, 2010 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
    Commented Sep 29, 2010 at 20:55
  • The link to the PDF is broken. It's probably this article. Commented Sep 12, 2014 at 6:54

1 Answer 1

6

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.

2
  • 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
    Commented Sep 29, 2010 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
    Commented Mar 5, 2011 at 16:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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