Abstract
Abstract
Context:
The term technical debt (TD) describes the aggregation of sub-optimal solutions that serve to impede the evolution and maintenance of a system. Some claim that the broken windows theory (BWT), a concept borrowed from criminology, also applies to software development projects. The theory states that the presence of indications of previous crime (such as a broken window) will increase the likelihood of further criminal activity; TD could be considered the broken windows of software systems.
Objective:
To empirically investigate the causal relationship between the TD density of a system and the propensity of developers to introduce new TD during the extension of that system.
Method:
The study used a mixed-methods research strategy consisting of a controlled experiment with an accompanying survey and follow-up interviews. The experiment had a total of 29 developers of varying experience levels completing system extension tasks in already existing systems with high or low TD density.
Results:
The analysis revealed significant effects of TD level on the subjects’ tendency to re-implement (rather than reuse) functionality, choose non-descriptive variable names, and introduce other code smells identified by the software tool , all with at least $$95\%$$
95
%
credible intervals.
Coclusions:
Three separate significant results along with a validating qualitative result combine to form substantial evidence of the BWT’s existence in software engineering contexts. This study finds that existing TD can have a major impact on developers propensity to introduce new TD of various types during development.
Funder
Vetenskapsrådet
Marcus och Amalia Wallenbergs minnesfond
Publisher
Springer Science and Business Media LLC