The Costs and Benefits of Pair Programming Alistair Cockburn Laurie Williams Humans and Technology University of Utah Computer Science 7691 Dell Rd 50 S. Central Campus #3190 Salt Lake City, UT 84121, USA Salt Lake City, UT 84112, USA
[email protected] 801.947.9277
[email protected] 435.649.7931 “Only if the various principles - names, However, convention speaks against having two definitions, intimations and perceptions - are people work together to develop code -- having laboriously tested and rubbed one against the “two do the work of one”, as some people see it. other in a reconciliatory tone, without ill will · Managers view programmers as a scarce during the discussion, only then will insight and resource, and are reluctant to "waste" such by reason radiate forth in each case, and achieve doubling the number of people needed to what is for man the highest possible force...” develop a piece of code. -Plato · Programming has traditionally been taught “Knowledge is commonly socially constructed, and practiced as a solitary activity. through collaborative efforts toward shared objectives or by dialogues and challenges · Many experienced programmers are very brought about by differences in persons' reluctant to program with another person. perspectives." -Salomon [1] Some say their code is "personal," or that another person would only slow them down. ABSTRACT Others say working with a partner will cause Pair or collaborative programming is where two trouble coordinating work times or code programmers develop software side by side at versions. one computer. Using interviews and controlled At the same time: experiments, the authors investigated the costs and benefits of pair programming.