Understanding cost drivers of software evolution: a quantitative and qualitative investigation of change effort in two evolving software systems

  • Authors:
  • Hans Christian Benestad;Bente Anda;Erik Arisholm

  • Affiliations:
  • Simula Research Laboratory and University of Oslo, Lysaker, Norway 1325;University of Oslo, Oslo, Norway 0316;Simula Research Laboratory and University of Oslo, Lysaker, Norway 1325

  • Venue:
  • Empirical Software Engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Making changes to software systems can prove costly and it remains a challenge to understand the factors that affect the costs of software evolution. This study sought to identify such factors by investigating the effort expended by developers to perform 336 change tasks in two different software organizations. We quantitatively analyzed data from version control systems and change trackers to identify factors that correlated with change effort. In-depth interviews with the developers about a subset of the change tasks further refined the analysis. Two central quantitative results found that dispersion of changed code and volatility of the requirements for the change task correlated with change effort. The analysis of the qualitative interviews pointed to two important, underlying cost drivers: Difficulties in comprehending dispersed code and difficulties in anticipating side effects of changes. This study demonstrates a novel method for combining qualitative and quantitative analysis to assess cost drivers of software evolution. Given our findings, we propose improvements to practices and development tools to manage and reduce the costs.