Analyzing the Cost and Benefit of Pair Programming

  • Authors:
  • Frank Padberg;Matthias M. Müller

  • Affiliations:
  • -;-

  • Venue:
  • METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We use a combination of metrics to understand, model, and evaluate the impact of Pair Programming on software development. Pair Programming is a core technique in the hot process paradigm of Extreme Programming. At the expense of increased personnel cost, Pair Programming aims at increasing both the team productivity and the code quality as comparedto conventional development. In order to evaluate Pair Programming, we use metrics from three different categories: process metrics such as the pair speed advantage of Pair Programming; product metrics such as the module breakdown structure of the software; andproject context metrics such as the market pressure. The pair speed advantage is a metric tailored to Pair Programming and measures how much faster a pair of programmers completes programming tasks as compared to a single developer. We integrate the various metrics using an economic model for the business value of a development project. The model is based on the standard concept of net present value. If the market pressure is strong, the faster time to market of Pair Programming can balance the increased personnel cost. For a realistic sample project, we analyze the complex interplay between the various metrics integrated in our model. We study for which combinations of the market pressure and pair speed advantage the value of the Pair Programming project exceeds the value of the corresponding conventional project. When time to market is the decisive factor and programmer pairs are much faster than single developers, Pair Programming can increase the value of a project, but there also are realisticscenarios where the opposite is true. Such results clearly show that we must consider metrics from different categories in combination to assess the cost-benefit relation of Pair Programming.