1 概述
国际软件基准比对标准小组(ISBSG)为软件开发行业的企业和专业人员提供了庞大的数据库,在推进软件成本估算领域发挥着关键作用。
ISBSG 数据库涵盖了不同行业和领域的软件开发项目,是丰富的历史数据资源。这些数据可以为人们提供参考,实现更准确的软件成本估算。
在这个技术复杂性不断增加、对精确项目规划的需求不断增长的时代,ISBSG 数据作为不可或缺的资源,在软件开发领域有助于更好地决策、风险管理和成本优化。
ISBSG 收集行业数据,使用 ISO/IEC 标准化的、客观的、可重复、可审计的方法进行度量,如 NESMA、IFPUG 和 COSMIC 功能点方法。基于功能点的典型关键指标有:
⚫ 项目交付率(PDR)1:每个功能点花费的时间;
⚫ 成本效益:每个功能点的成本(或价格);
⚫ 质量:每个功能点的缺陷数量(测试或交付的第一个月);
⚫ 交付速度:每月(自然月)交付的功能点。
ISBSG 的“新开发与增强”数据库中包含数千个已完成的项目,各企业能够使用这些行业数据进行基于事实的理解和决策。
本文将功能点度量方法和敏捷团队中经常使用的故事点度量方法进行了对比分析。
2 故事点
目前,许多企业都使用敏捷的工作方式,并使用故事点度量方法进行工作量估算。
故事点估算方法是一种相对估算的过程。它将具体的待办事项进行比较,然后估算哪一项工作需要多长时间完成。通常情况下,敏捷团队会使用斐波那契数列进行估算(即 0,1,2,3,5,8,13,20,50,100)。
例如,如果用户故事 XYZ 分配了 20 个故事点,这意味着:该团队认为开发该用户故事所需的工作量大于分配了 13 个故事点的用户故事。但与分配了 100个故事点的用户故事相比,XYZ 需要的工作量较少。
故事点是一种相对的方法,用于估算待办事项的工作量,包括 bug 修复、问题分析和其他任务。因此,故事点在估算下一轮 sprint 中的待办事项时非常有用。但是,故事点度量方法不能用于更高层次的信息管理。
由于故事点的度量单位是主观和相对的,因此很容易受人为因素操纵。所以,故事点度量方法不能用在客户和供应商的合同之中。例如,如果每个故事点的固定价格只对供应商有利,那么客户如果没有制定客观的衡量标准,将无法判断此价格是否是最佳性价比。
3 功能规模
功能规模度量(FSM)是软件工程中根据应用软件或系统的功能需求来量化其规模的一种度量方法。
功能规模度量并不是以代码行或其他技术指标来衡量规模大小,而是通过软件提供的功能特性进行软件规模度量。
功能规模度量方法主要是功能点分析(FPA)方法:NESMA 和 IFPUG,它们也都是 ISBSG 的合作伙伴。
3.1 如何度量功能规模
功能点分析方法主要通过以下五个主要功能来度量软件规模:
⚫ 外部输入:处理或控制来自应用程序边界之外的数据或信息的基本过程;
⚫ 外部输出:向应用程序边界之外发送数据或控制信息的基本过程,包括外部查询之外的额外处理逻辑;
⚫ 外部查询:向应用程序边界之外发送数据或控制信息的基本过程;
⚫ 内部逻辑文件:一组用户可辨认的在被测应用程序边界内维护的逻辑相关数据或控制信息;
⚫ 外部接口文件:从用户的角度来看的一组永久数据,由一个应用程序使用,但由另一个应用程序维护。
上述五种功能中的每一个都会基于复杂性进行评估,然后加权计算,进行功能点(FP)计数。功能点方法是度量软件功能性需求规模的标准化度量方法。
3.2 功能规模度量的优点
功能规模度量具有以下优点:
⚫ 关注用户需求:功能规模度量专注于满足用户需求的软件功能方面,从用户视角进行软件规模度量;
⚫ 更好的估算:与简单的代码行度量方法相比,功能点方法更能准确地估算出软件开发或运维项目的工作量、工期和成本;
⚫ 性能测量和基准比对:功能点可以在不同项目之间进行比较,能够在不同的软件或团队中对生产率、质量和性能进行基准比对;
⚫ 供应商独立性:无论开发软件的技术、编程语言或平台如何,都可以进行标准化度量。
功能点分析方法是基于功能需求对软件规模进行标准化的、客观的度量的功能规模度量方法,其在项目管理、资源分配和软件开发工作量估算中都发挥着至关重要的作用。
以上就是软件造价评估公司中基数联为您带来的“故事点和功能点度量方法的主要差异分析(上)”所有内容,更多软件开发成本估算知识敬请关注中基数联!