Context: Technical debt (TD) is a widely studied metaphor that helps to explain how sub-optimal decisions that can harm software maintainability over time. Although incurring TD is not intrinsically bad, tracking and managing TD are crucial to avoid its negative effects. Hence, researchers and practitioners have proposed and developed diverse approaches and tools for managing TD. However, we are still lacking specialized tools for technical debt management (TDM), specifically ones that can be easily integrated into existing development workflows. Objective: We present and evaluate TagDebt, a bot that can be integrated within GitHub repositories and automatically assign labels to issues (i.e., SATD or non-SATD). TagDebt helps in the identification of TD (i.e., by looking for self-admitted technical debt (SATD)), leading to more efficient TDM. Methods: We carried out a Design Science Research study to design and implement TagDebt. For its evaluation, we executed a Technology Acceptance Model (TAM) study through interviews with 16 practitioners, to check the bot's usefulness, ease of use, and contextual factors that might impact the bot's usage (such as team size and practitioners' roles). Results: Overall, practitioners found that TagDebt is useful, especially for organizing issues and reducing manual work. Furthermore, they pointed out that the bot is overall easy to use, and its documentation is clear. The analysis also revealed that contextual factors, such as team and codebase size, impact the decision to adopt TagDebt. Finally, several improvements were suggested, such as including features to check and update the source code. Conclusion: TagDebt is a proof-of-concept for the development and usage of more specialized tools for TDM. It helps to make TD visible without disrupting existing workflows and help practitioners avoid the risks of unmanaged TD.
翻译:上下文:技术债务(TD)是一个被广泛研究的隐喻,有助于解释那些可能随时间损害软件可维护性的次优决策。尽管产生技术债务本身并非坏事,但追踪和管理技术债务对于避免其负面影响至关重要。因此,研究人员和实践者提出并开发了多种技术债务管理(TDM)的方法和工具。然而,我们仍缺乏专门用于技术债务管理的工具,尤其是那些能够轻松集成到现有开发工作流中的工具。目标:我们介绍并评估TagDebt,一个可集成到GitHub仓库中并自动为问题分配标签(即SATD或非SATD)的机器人。TagDebt通过寻找自我承认的技术债务(SATD)来辅助识别技术债务,从而实现更高效的TDM。方法:我们开展了一项设计科学研究(DSR),用以设计和实现TagDebt。在评估阶段,我们通过访谈16位实践者执行了一项技术接受模型(TAM)研究,以检验该机器人的有用性、易用性以及可能影响其使用的上下文因素(如团队规模和实践者的角色)。结果:总体而言,实践者认为TagDebt是有用的,特别是在组织问题和减少手动工作方面。此外,他们指出该机器人整体上易于使用,且其文档清晰。分析还揭示,团队规模和代码库规模等上下文因素会影响采用TagDebt的决策。最后,他们提出了一些改进建议,例如增加检查与更新源代码的功能。结论:TagDebt是针对TDM更专业化工具开发与使用的概念验证。它有助于在不破坏现有工作流的情况下使技术债务可视化,并帮助实践者避免未管理技术债务的风险。