Tom Breur
27 August 2017
Pair
programming is a core practice in XP, one of the
(very) early Agile methods. As legend
has it, the fundamentals of XP were conceived in the mid-nineties, when Kent Beck was part of a team
building the Chrysler
Comprehensive Compensation System (C3). The project was stuck, on a crash
course to disaster, when it somehow mysteriously found its way again with the
help of early Agile legends like Kent Beck and Ron Jeffries.
Pair programming is controversial.
The notion of two people working together full-time, whereby one does all the
coding (the “driver”), and the other seems to be sitting “idle” (the
“navigator”), flies in the face of old-school management notions of
“productivity.” A handful of years back I listed
(slides 3-4) some counter intuitive Agile practices, and this one probably sits
at the top. In line with this, after Chrysler was acquired by Daimler-Benz,
development on C3 was stopped and XP was even banned from the company!
Interestingly, Pair Programming is mostly damned by people
who have never tried it themselves. The notion that the “navigator” sits idle
does not correspond at all with my own experience, and others who have
practiced it. Pair programming is intense and can be exhausting! Scientific
studies on the effects
of productivity with pair programming show about 50/50
results. No clearly established benefits one way, or the other. Usually lower
defect rates get reported, and that may well have an exponential effect on
net productivity. But that effect only shows up with a (severe) delay, so may
be hard to demonstrate. No conclusive evidence there, yet. Since a primary driver
for pair programming is knowledge sharing within the team, switching
up pairs is standard practice.
Maybe a
better question would be: “How
does pair programming work?” Or: “For whom
does pair programming work?” Or: “Under what circumstances will this
practice enable higher (team!) productivity?”,
etc.
Given how much we spend on software development, as an
industry (Gartner: IT
spend globally $3.5 Trillion), I hope we see more in-depth research. With
Google as my friend, I found several PhD Theses (By Sallyann Freudenberg here,
or Mark Anthony Poff here,
for example), but they all seem plagued by relatively small sample sizes (with
corresponding problems
in Statistical Power). Until then I would suggest two things:
1 – give it a try
2 – do what works for you
No comments:
Post a Comment