@inproceedings{301e8653941340beb49c14876ef691c7,
title = "Does test-driven development improve the program code? Alarming results from a comparative case study",
abstract = "It is suggested that test-driven development (TDD) is one of the most fundamental practices in agile software development, which produces loosely coupled and highly cohesive code. However, how the TDD impacts on the structure of the program code have not been widely studied. This paper presents the results from a comparative case study of five small scale software development projects where the effect of TDD on program design was studied using both traditional and package level metrics. The empirical results reveal that an unwanted side effect can be that some parts of the code may deteriorate. In addition, the differences in the program code, between TDD and the iterative test-last development, were not as clear as expected. This raises the question as to whether the possible benefits of TDD are greater than the possible downsides. Moreover, it additionally questions whether the same benefits could be achieved just by emphasizing unit-level testing activities.",
keywords = "Test-driven development, test-first programming, test-first development, agile software development, software quality",
author = "Maria Siniaalto and Pekka Abrahamsson",
year = "2008",
doi = "10.1007/978-3-540-85279-7_12",
language = "English",
isbn = "978-3-540-85278-0",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
pages = "143--156",
editor = "Bertrand Meyer and Nawrocki, {Jerzy R.} and Bartosz Walter",
booktitle = "Balancing Agility and Formalism in Software Engineering",
address = "Germany",
note = "Second IFIP TC 2 Central and East European Conference on Software Engineering Techniques, CEE-SET 2007 ; Conference date: 10-10-2007 Through 12-10-2007",
}