Context: Contemporary software development is typically conducted in dynamic, resource-scarce environments that are prone to the accumulation of technical debt. While this general phenomenon is acknowledged, what remains unknown is how technical debt specifically manifests in and affects software processes, and how the software development techniques employed accommodate or mitigate the presence of this debt. Objectives: We sought to draw on practitioner insights and experiences in order to classify the effects of agile method use on technical debt management. We explore the breadth of practitioners' knowledge about technical debt; how technical debt is manifested across the software process; and the perceived effects of common agile software development practices and processes on technical debt. In doing so, we address a research gap in technical debt knowledge and provide novel and actionable managerial recommendations. Method: We designed, tested and executed a multi-national survey questionnaire to address our objectives, receiving 184 responses from practitioners in Brazil, Finland, and New Zealand. Results: Our findings indicate that: 1) Practitioners are aware of technical debt, although, there was under utilization of the concept, 2) Technical debt commonly resides in legacy systems, however, concrete instances of technical debt are hard to conceptualize which makes it problematic to manage, 3) Queried agile practices and processes help to reduce technical debt; particularly, techniques that verify and maintain the structure and clarity of implemented artifacts. Conclusions: The fact that technical debt instances tend to have characteristics in common means that a systematic approach to its management is feasible. However, notwithstanding the positive effects of some agile practices on technical debt management, competing stakeholders' interests remain a concern.(Abridged)
翻译:目标:我们寻求从业者的洞察力和经验,以便分类使用灵活方法对技术债务管理的影响。我们探讨了从业者对技术债务的广泛了解;技术债务在整个软件过程中如何表现;以及共同灵活软件开发做法和流程对技术债务的竞争性影响。我们认识到了这一普遍现象,但与此同时,我们解决了技术债务知识方面的研究差距,提出了新颖和可操作的管理建议。方法:我们设计、测试和执行了一个多国调查问卷,以达到我们的目标,从巴西、芬兰和新西兰的从业者收到了184份答复。结果:我们的调查结果表明:(1)从业者了解技术债务,尽管人们正在利用这一概念,但是,技术债务通常仍然存在于遗留系统中;技术债务的具体例子仍然难以被概念化,使得管理债务的难度大,3) 技术做法和债务管理方法的难度很大,但是,在债务管理方面,技术管理方法的难度很大。