How Junior Developers Deal with Their Technical Debt?

Fabian Gilson, Miguel Morales Trujillo, Moffat Mathews
{"title":"How Junior Developers Deal with Their Technical Debt?","authors":"Fabian Gilson, Miguel Morales Trujillo, Moffat Mathews","doi":"10.1145/3387906.3388624","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":345508,"journal":{"name":"2020 IEEE/ACM International Conference on Technical Debt (TechDebt)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE/ACM International Conference on Technical Debt (TechDebt)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3387906.3388624","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

Abstract

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
初级开发者如何处理他们的技术债务?
技术债务是一个比喻,它衡量了由于代码质量的内在下降而在软件中继续添加更多特性所需的额外努力。大多数软件系统在某种程度上都有技术债务,因此已经开发出专门的工具和度量来监视这种债务。除了工具之外,开发团队还必须将适当的工程实践放在适当的位置,以将债务保持在可接受的水平。在这个实证研究中,我们观察并调查了由经验丰富的学生组成的Scrum开发团队,以便在为期一年的学术项目中了解他们与质量相关的过程。我们发现(1)学生确实使用了多种形式的静态分析工具,但由于时间压力,他们的实际使用受到限制;(2)对代码质量的回顾性和非约束性反馈几乎没有影响,即使在项目过程中定期给出;(3)初级开发人员重视复合质量指标(例如,SonarQube中的可维护性、可靠性),即使他们不完全理解它们的含义。根据我们的发现,我们提出了一系列关于如何培训初级开发人员理解和管理技术债务的建议,包括技术上的和方法上的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
The Prevalence of the Technical Debt Concept in Serbian IT Industry: Results of a National-Wide Survey Trade-offs in Managing Risk and Technical Debt in Industrial Research Labs: An Experience Report Software Archinaut: A Tool to Understand Architecture, Identify Technical Debt Hotspots and Manage Evolution : Tool Presentation Paper What are the Practices used by Software Practitioners on Technical Debt Payment? Results From an International Family of Surveys Carrot and Stick approaches when managing Technical Debt
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1