Context: Software start-ups are young companies aiming to build and market software-intensive products fast with little resources. Aiming to accelerate time-to-market, start-ups often opt for ad-hoc engineering practices, make shortcuts in product engineering, and accumulate technical debt. Objective: In this paper we explore to what extent precedents, dimensions and outcomes associated with technical debt are prevalent in start-ups. Method: We apply a case survey method to identify aspects of technical debt and contextual information characterizing the engineering context in start-ups. Results: By analyzing responses from 86 start-up cases we found that start-ups accumulate most technical debt in the testing dimension, despite attempts to automate testing. Furthermore, we found that start-up team size and experience is a leading precedent for accumulating technical debt: larger teams face more challenges in keeping the debt under control. Conclusions: This study highlights the necessity to monitor levels of technical debt and to preemptively introduce practices to keep the debt under control. Adding more people to an already difficult to maintain product could amplify other precedents, such as resource shortages, communication issues and negatively affect decisions pertaining to the use of good engineering practices.
翻译:摘要:背景:软件初创企业是旨在以少量资源快速构建和市场化软件密集型产品的年轻公司。为加速产品上市时间,初创企业通常采用临时性的工程实践,在产品工程中走捷径,从而积累技术债务。目标:本文探讨了与技术债务相关的先例、维度及后果在初创企业中的普遍程度。方法:我们采用案例调查方法,识别技术债务的各个方面及表征初创企业工程背景的上下文信息。结果:通过分析86个初创企业案例的反馈,我们发现尽管尝试了自动化测试,初创企业在测试维度上积累的技术债务最多。此外,我们发现初创企业团队规模和经验是积累技术债务的主要先例:较大的团队在控制债务方面面临更多挑战。结论:本研究强调了监控技术债务水平并主动引入实践以控制债务的必要性。在已经难以维护的产品中增加人员可能会加剧其他先例,如资源短缺、沟通问题,并对涉及良好工程实践使用的决策产生负面影响。