How Junior Developers Deal with Their Technical Debt?

被引:6
|
作者
Gilson, Fabian [1 ]
Morales-Trujillo, Miguel [1 ]
Mathews, Moffat [1 ]
机构
[1] Univ Canterbury, Christchurch, New Zealand
关键词
software quality metrics; static code analysis; empirical study;
D O I
10.1145/3387906.3388624
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Technical debt is a metaphor that measures the additional effort needed to continue to add more features in a software due to its inherent decrease in code quality. Most software systems suffer from technical debt at some point so that dedicated tools and metrics have been developed to monitor such debt. Alongside tools, appropriate engineering practices must be put in place by the development team to keep that debt at an acceptable level. In this empirical study, we observed and surveyed Scrum development teams composed of experienced students in order to understand their quality-related processes on a year-long academic project. We found that (1) students do use static analysis tools of many forms, but their actual usage is limited due to time pressure; (2) retrospective and non-constraining feedback on code quality has little to no effect, even when given regularly during the course of the project; and (3) junior developers value composite quality indicators (e.g., maintainability, reliability in SonarQube), even if they do not fully understand their meaning. From our findings, we propose a series of recommendations, both technical and methodological, on how to train junior developers to understand and manage technical debt.
引用
收藏
页码:51 / 61
页数:11
相关论文
共 50 条
  • [1] An Exploratory Study on the Influence of Developers in Technical Debt
    Alfayez, Reem
    Behnamghader, Pooyan
    Srisopha, Kamonphop
    Boehm, Barry
    2018 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT (TECHDEBT), 2018, : 1 - 10
  • [2] How Do Developers Fix Issues and Pay Back Technical Debt in the Apache Ecosystem?
    Digkas, Georgios
    Lungu, Mircea
    Avgeriou, Paris
    Chatzigeorgiou, Alexander
    Ampatzoglou, Apostolos
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 153 - 163
  • [3] Understanding Technical Debt at the Code Level from the Perspective of Software Developers
    Rocha, Junior Cesar
    Zapalowski, Vanius
    Nunes, Ingrid
    XXXI BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES 2017), 2017, : 64 - 73
  • [4] XP and junior developers: 7 Mistakes (and how to avoid them)
    Lawrence, Richard
    AGILE 2007, Proceedings, 2007, : 234 - 238
  • [5] How Do Developers Deal with Security Issue Reports on GitHub?
    Buehlmann, Noah
    Ghafari, Mohammad
    37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2022, : 1580 - 1589
  • [6] Junior debt
    不详
    GAME THEORY ANALYSIS OF OPTIONS, 1999, 468 : 67 - 87
  • [7] NEW-DEAL FOR JUNIOR DOCTORS HOURS - HOW TO ACHIEVE IT
    BULSTRODE, CJK
    GRAY, AJM
    ANDERSON, M
    HAWKE, CI
    BRITISH MEDICAL JOURNAL, 1992, 305 (6863): : 1203 - 1205
  • [8] Reducing Technical Debt: Using Persuasive Technology for Encouraging Software Developers to Document Code
    Shmerlin, Yulia
    Kliger, Doron
    Makabee, Hayim
    ADVANCED INFORMATION SYSTEMS ENGINEERING WORKSHOPS, 2014, 178 : 207 - 212
  • [9] Constraints on Instructional Media Design: How Do Media Developers Deal with Them?
    Tomita, Kei
    PERFORMANCE IMPROVEMENT QUARTERLY, 2021, 34 (02) : 171 - 194
  • [10] How do you deal with a junior colleague bad mouthing a senior?
    Waters, Adele
    BMJ-BRITISH MEDICAL JOURNAL, 2022, 378