Comparing technical debt in student exercises using test driven development, test last and ad hoc programming

Eugenia Parodi, Santiago Matalonga, Dario Macchi, Martín Solari

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Downloads (Pure)

Abstract

Technical Debt is a metaphor that explains a phenomenon that occurs in software development when programmers are faced with trade-off decisions (usually ship first vs. quality assurance). This work analyses the amount of technical debt incurred by undergraduate students using different coding techniques. This observational study uses source code from seventy-five students. We provided students with similar exercises to compare techniques by measuring with static code analyzers (Sonar, FindBugs). The techniques are TDD, Test Last, and ad hoc programming. Our results could not find a statistically significant difference of technical debt incurred by each development practices. Nonetheless, with both tools ad hoc programming measures less technical debt than TDD, and TDD measures less than Test Last. Furthermore, we observed that the two measurement tools outputs are not statistically correlated. Finally, we discuss implications for the research of technical debt stemming from our observations.
Original languageEnglish
Title of host publicationXLII Latin American Computing Conference (CLEI), 2016
PublisherIEEE
Pages1-10
ISBN (Electronic)978-1-5090-1633-4
ISBN (Print)978-1-5090-1634-1
DOIs
Publication statusPublished - 26 Jan 2017
Externally publishedYes

Fingerprint

Students
Sonar
Quality assurance
Software engineering
Ships

Keywords

  • Alumnos Maestría

Cite this

Parodi, E., Matalonga, S., Macchi, D., & Solari, M. (2017). Comparing technical debt in student exercises using test driven development, test last and ad hoc programming. In XLII Latin American Computing Conference (CLEI), 2016 (pp. 1-10). IEEE. https://doi.org/10.1109/CLEI.2016.7833380
Parodi, Eugenia ; Matalonga, Santiago ; Macchi, Dario ; Solari, Martín. / Comparing technical debt in student exercises using test driven development, test last and ad hoc programming. XLII Latin American Computing Conference (CLEI), 2016 . IEEE, 2017. pp. 1-10
@inproceedings{868cf869e1e64e609bb1b34e9135b775,
title = "Comparing technical debt in student exercises using test driven development, test last and ad hoc programming",
abstract = "Technical Debt is a metaphor that explains a phenomenon that occurs in software development when programmers are faced with trade-off decisions (usually ship first vs. quality assurance). This work analyses the amount of technical debt incurred by undergraduate students using different coding techniques. This observational study uses source code from seventy-five students. We provided students with similar exercises to compare techniques by measuring with static code analyzers (Sonar, FindBugs). The techniques are TDD, Test Last, and ad hoc programming. Our results could not find a statistically significant difference of technical debt incurred by each development practices. Nonetheless, with both tools ad hoc programming measures less technical debt than TDD, and TDD measures less than Test Last. Furthermore, we observed that the two measurement tools outputs are not statistically correlated. Finally, we discuss implications for the research of technical debt stemming from our observations.",
keywords = "Alumnos Maestr{\'i}a",
author = "Eugenia Parodi and Santiago Matalonga and Dario Macchi and Mart{\'i}n Solari",
year = "2017",
month = "1",
day = "26",
doi = "10.1109/CLEI.2016.7833380",
language = "English",
isbn = "978-1-5090-1634-1",
pages = "1--10",
booktitle = "XLII Latin American Computing Conference (CLEI), 2016",
publisher = "IEEE",
address = "United States",

}

Parodi, E, Matalonga, S, Macchi, D & Solari, M 2017, Comparing technical debt in student exercises using test driven development, test last and ad hoc programming. in XLII Latin American Computing Conference (CLEI), 2016 . IEEE, pp. 1-10. https://doi.org/10.1109/CLEI.2016.7833380

Comparing technical debt in student exercises using test driven development, test last and ad hoc programming. / Parodi, Eugenia; Matalonga, Santiago; Macchi, Dario; Solari, Martín.

XLII Latin American Computing Conference (CLEI), 2016 . IEEE, 2017. p. 1-10.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Comparing technical debt in student exercises using test driven development, test last and ad hoc programming

AU - Parodi, Eugenia

AU - Matalonga, Santiago

AU - Macchi, Dario

AU - Solari, Martín

PY - 2017/1/26

Y1 - 2017/1/26

N2 - Technical Debt is a metaphor that explains a phenomenon that occurs in software development when programmers are faced with trade-off decisions (usually ship first vs. quality assurance). This work analyses the amount of technical debt incurred by undergraduate students using different coding techniques. This observational study uses source code from seventy-five students. We provided students with similar exercises to compare techniques by measuring with static code analyzers (Sonar, FindBugs). The techniques are TDD, Test Last, and ad hoc programming. Our results could not find a statistically significant difference of technical debt incurred by each development practices. Nonetheless, with both tools ad hoc programming measures less technical debt than TDD, and TDD measures less than Test Last. Furthermore, we observed that the two measurement tools outputs are not statistically correlated. Finally, we discuss implications for the research of technical debt stemming from our observations.

AB - Technical Debt is a metaphor that explains a phenomenon that occurs in software development when programmers are faced with trade-off decisions (usually ship first vs. quality assurance). This work analyses the amount of technical debt incurred by undergraduate students using different coding techniques. This observational study uses source code from seventy-five students. We provided students with similar exercises to compare techniques by measuring with static code analyzers (Sonar, FindBugs). The techniques are TDD, Test Last, and ad hoc programming. Our results could not find a statistically significant difference of technical debt incurred by each development practices. Nonetheless, with both tools ad hoc programming measures less technical debt than TDD, and TDD measures less than Test Last. Furthermore, we observed that the two measurement tools outputs are not statistically correlated. Finally, we discuss implications for the research of technical debt stemming from our observations.

KW - Alumnos Maestría

U2 - 10.1109/CLEI.2016.7833380

DO - 10.1109/CLEI.2016.7833380

M3 - Conference contribution

SN - 978-1-5090-1634-1

SP - 1

EP - 10

BT - XLII Latin American Computing Conference (CLEI), 2016

PB - IEEE

ER -

Parodi E, Matalonga S, Macchi D, Solari M. Comparing technical debt in student exercises using test driven development, test last and ad hoc programming. In XLII Latin American Computing Conference (CLEI), 2016 . IEEE. 2017. p. 1-10 https://doi.org/10.1109/CLEI.2016.7833380