Thursday, April 21, 2011

Pair programming: is it really worth it?

http://en.wikipedia.org/wiki/Pair_programming

In 15 years of development, I have rarely seen people actually adopt pair programming the "hard way", that is having one person sitting next to the other without using a keyboard. Much more popular is "help on demand", if you need me just call me.

I think there are several reasons why Pair Programming is not so popular.

- developers are mostly a bit individualistic

- most code is "easy" enough to require not so much brain effort behind it

- nobody likes to work with a jerk, so if one of the 2 developers is a jerk the experience of working shoulder-to-shoulder will be painful

- cultural reasons might encourage isolation rather than open communication


For instance, I normally ask a lot of questions to my collegaues, bringing up issues and sharing my findings. But in some contexts you are supposed to keep your head down and just deliver what you have been requested. In these contexts, PP will never find easy adoption.

1 comment:

Luciano said...

Pair programming, in my experience, is useful in two cases:
- faster knowledge sharing and "master to novice" sharing
- when you want to enhance productivity of a not so committed developer (less "lemme check facebook" pauses)

Personally, I like pair programming, I find myself more focused when working with someone else. On the other hand, it is almost impossible to achieve the "flow" mental state when working in pair. Hackers-types can reach crazy levels of productivity when slipping in this state.