当前位置: 首页 > news >正文

学术环境中能力对敏捷努力评估的影响

论文标题:Impact of competence on agile effort estimation in academic setting

作者信息:

  • Luka Fürst
  • Tomaž Hovelja
  • Marko Poženel
  • Damjan Vavpotǐc 均来自斯洛文尼亚卢布尔雅那大学计算机与信息科学学院。

论文出处:发表于《Software: Practice and Experience》期刊,2024年。

1fa4b1f6ab534cd19fa97f10a6951175.png

摘要: 本研究的目标是确定个体能力对软件开发工作量估算的影响。研究测量了三种不同估算方法的准确性和估算过程本身持续时间。研究对象是卢布尔雅那大学计算机与信息科学学院的研究生软件工程课程的学生团队。基于学生在本科学习中获得的成绩,研究者将每个团队分类为“高能力”或“低能力”,以及“异质性”或“同质性”(标准是成员平均成绩的方差)。研究发现,无论使用哪种估算方法,高能力团队和低能力团队在工作量估算准确性上没有显著差异,异质性团队和同质性团队之间也没有显著差异。然而,高能力团队在工作量估算上花费的时间显著少于低能力团队。同样,对于两种使用的估算方法,异质性团队完成工作量估算的时间明显短于同质性团队。这些结果可能有益于学术界和专业社区。

关键词: 敏捷软件开发、能力、工作量估算、软件工程课程、学生项目

1. 引言: 能力无疑是软件开发中的主要因素之一。软件开发团队成员解决各种工程问题、在团队内朝着共同目标工作以及满足严格截止日期的能力,对于软件项目的成功至关重要。能力不仅在项目的实施阶段起着至关重要的作用,在工作量估算阶段也非常重要,团队成员在此期间尝试预测完成给定软件项目所需的工作量和时间。

2. 背景: 本节首先概述了相关工作,然后介绍了研究中使用的三种估算方法(Planning Poker、Bucket System 和 Affinity Estimation)。

2.1 相关工作: 研究者们最近开始关注软件开发领域中人的能力差异。例如,Bryan 发现在大型项目中,顶尖程序员(200名中的1名)解决了所有问题的8%,而前27%的程序员完成了所有任务的78%。

2.2 估算方法

  • Planning Poker:使用一套代表用户故事的卡片,每个团队成员独立选择一个代表故事难度的卡片,并将其放在桌子上。
  • Bucket System:团队成员首先将估算区域划分为由斐波那契序列标记的桶,然后根据难度将用户故事放入桶中。
  • Affinity Estimation:每个团队成员收到大约相同数量的代表用户故事的卡片,然后轮流默默地将卡片放在桌子上。

3. 方法论: 研究在卢布尔雅那大学计算机与信息科学学院的研究生软件工程课程中进行。学生团队使用敏捷软件开发方法完成软件项目。研究没有干扰学习过程,要求学生使用三种不同的方法进行工作量估算,并记录每种方法的估算过程持续时间。

4. 结果: 主要结果显示,无论使用哪种估算方法,高能力团队和低能力团队在估算准确性上没有显著差异。同样,异质性团队和同质性团队在所有三种估算方法上也没有显著差异。然而,高能力团队在工作量估算上花费的时间显著少于低能力团队。

5. 讨论: 研究结果表明,Planning Poker、Bucket System 和 Affinity Estimation 这三种估算方法在能力方面是稳健的,即它们不受团队成员能力的影响。然而,高能力团队在估算过程中需要的时间明显少于低能力团队。

6. 有效性威胁: 本节讨论了研究有效性可能受到的威胁,包括历史、成熟度、测试、人员流失、统计回归、霍桑效应、扩散和普遍性。

7. 结论: 研究的目的是确定个体能力对软件项目估算准确性和估算过程所需时间的影响。研究发现,无论使用哪种估算方法,高能力团队和低能力团队在工作量估算准确性上没有显著差异。然而,高能力团队在估算过程上更为高效。

 


http://www.mrgr.cn/news/42993.html

相关文章:

  • Debezium日常分享系列之:Debezium 3.0.0.Final发布
  • Python知识点:在Python编程中,如何使用Joblib进行并行计算
  • 计算机组成原理之整数的表示和运算
  • 【DataLoom】智能问数 - 自然语言与数据库交互
  • FPGA时序分析和约束学习笔记(1、FPGA基本原理)
  • 车载项目:HIL测试、功能安全测试、CAN一致性测试、UDS测试、ECU测试、OTA测试、TBOX测试、导航测试、车控测试
  • ICM20948 DMP代码详解(62)
  • Cisco ACI Simulator 6.0(7e)M 发布下载,新增功能简介
  • 【无标题】提升快递管理效率的必备技能:教你批量查询与导出物流信息
  • 《 C++ 修炼全景指南:十四 》大数据杀手锏:揭秘 C++ 中 BitSet 与 BloomFilter 的神奇性能!
  • 【分布式微服务云原生】战胜Redis脑裂:深入解析与解决方案
  • 系统架构设计师教程 第13章 13.3 中间层架构设计 笔记
  • Salesforce AI 推全新大语言模型评估家族SFR-Judge 基于Llama3构建
  • 前端Vue项目的自动打包、上传与部署
  • 车载入行:HIL测试、功能安全测试、CAN一致性测试、UDS测试、ECU测试、OTA测试、TBOX测试、导航测试、车控测试
  • Python案例--三数排序
  • .NET开源跨平台桌面和移动应用的统一框架 - Eto.Forms
  • 殷人昆教授带头节点单链表
  • C++ 语言特性22 - 三向比较
  • Java后端开发中的数据保护:如何实现全面的数据加密