|Authors||H. C. Benestad, B. C. D. Anda and E. Arisholm|
|Title||Understanding the Cost of Software Change: a Quantitative and Qualitative Investigation of Change Effort During Evolution of Two Software Systems|
|Afilliation||Software Engineering, Software Engineering|
|Publication Type||Journal Article|
|Year of Publication||2010|
|Journal||Empirical Software Engineering|
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 volatility of requirements and dispersion of changed code consistently correlated with change effort. The analysis of the qualitative interviews pointed to two important, underlying cost drivers: Difficulties in anticipating side effects of changes and difficulties in comprehending dispersed code. 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 design practices and development tools to reduce the costs.