1

On the software project I'm working there are 4 teams of 6 people. The project itself is a moderately complex distributed system, but the current user stories are mostly about implementing CRUD operations and such.

My problem is that we are working in pairs non-stop. I think that this brute force approach to pair programming is wasteful since a lot of tasks (simple tasks, bugfixes) do not need two people's combined effort and I never reach flow ever since I'm working here.

My question is about pair programming. When is it appropriate to use it and is it justifiable to do it all the time?

There are some situations which I know from my previous experience like

  • pair progrmaming with a new colleague so he gets up to speed quickly
  • pair programming with a junior developer so he understands new concepts more quickly and thoroughly
  • pair programming to effectively share domain knowledge

but I don't see why pair programming can be useful if used in all possible situations. What makes it even worse is that pairs often rotated mid-sprint which slows down development even more.

  • Have you seen this ? programmers.stackexchange.com/questions/500/… – TommyBs Aug 11 '15 at 16:10
  • While they're clearly closely related, I don't think this is a duplicate of the above question. That question asks how to find the right balance between pairing and individual work; this question asks what the benefits and drawbacks of only pairing are. – Jules Aug 11 '15 at 17:32
  • This is not a duplicate as @Jules pointed out. Voting to reopen. – Adam Arold Aug 11 '15 at 20:57
  • 1
    @Jules if the other question isn't a duplicate, the alternative would be interpreting this as a poll of opinions. The "When is it appropriate to use it and is it justifiable to do it all the time?" is entirely based on a sampling of people's opinions and given its often controversial and polarized experiences with it, such a question would very likely become a heated discussion rather than an objective Q&A. – user40980 Aug 11 '15 at 22:29