Agile methods and associated practices have been held to deliver value to software developers and customers. Research studies have reported team productivity and software quality benefits. While such insights are helpful for understanding how agile methods add value during software development, there is need for understanding the intersection of useful practices and outcomes over project duration. This study addresses this opportunity and conducted an observation study of student projects that was complemented by the analysis of demographics data and open responses about the challenges encountered during the use of agile practices. Data from 22 student teams comprising 85 responses were analyzed using quantitative and qualitative approaches, where among our findings we observed that the use of good coding practices and quality management techniques were positively correlated with all dimensions of product quality (e.g., functionality scope and software packaging). Outcomes also reveal that software product quality was predicted by requirements scoping, team planning and communication, and coding practice. However, high levels of team planning and communication were not necessary for all software development activities. When examining project challenges, it was observed that lack of technical skills and poor time management present most challenges to project success. While these challenges may be mitigated by agile practices, such practices may themselves create unease, requiring balance during project implementation.
翻译:敏捷方法及其相关实践被认为能为软件开发者和客户创造价值。已有研究报告了团队生产力和软件质量方面的收益。尽管这些见解有助于理解敏捷方法如何在软件开发过程中增加价值,但仍有必要探究有效实践与项目周期内成果之间的交叉关系。本研究针对这一研究空白,通过对学生项目的观察研究展开探讨,并辅以人口统计数据分析和关于使用敏捷实践过程中遇到挑战的开放性回答分析。我们采用定量与定性相结合的方法,对来自22个学生团队(共85份回复)的数据进行了分析。研究发现,良好的编码实践和质量管理技术的使用与产品质量的各个维度(例如功能范围和软件打包)均呈正相关。研究结果还表明,需求范围界定、团队规划与沟通以及编码实践能够预测软件产品质量。然而,并非所有软件开发活动都需要高强度的团队规划与沟通。在考察项目挑战时发现,技术能力不足和时间管理不善对项目成功构成最大障碍。虽然敏捷实践可能缓解这些挑战,但这些实践本身也可能引发不适感,需要在项目实施过程中寻求平衡。