功能点估算流程在软件项目管理中起着重要的作用,它可以帮助项目团队更好地理解项目的需求和目标,从而提高项目的成功率和效率。如果功能点估算未按流程进行,可能会导致项目估算不准确,估算时间超出预期等问题。
因此功能点估算的常规流程非常重要,需要予以重视。常见的功能点估算流程如下:
1、需求定义
在进行功能点估算之前,项目需求需明确定义。产品经理需要与相关利益相关者充分沟通,确保需求的准确性和完整性。
而常见的挖掘需求的方法有客户问卷调查、原型展示、demo、场景描述、以及项目进行中的产品展示和回顾等等。从需求的种类上讲,有功能需求、性能需求、接口需求等。另外, 在划分用户需求时,需秉承需求迭代紧跟核心业务指标,按照一定的准则进行优先级的划分,如四象限法则、KANO模型、、成本效益核算模型等。
2、功能点计算规则
功能点计算规则是估算的基础,我们需要了解和掌握不同的功能点计算方法,如IFPUG、COSMIC、NESMA等,并根据项目的特点选择合适的计算规则。
如NESMA估算法实现了快速估算,其估算过程相对简单,计算工作量小,特别适合项目早期进行估算。相比于IFPUG方法,NESMA方法更着重在项目早期进行估算。
NESMA估算法有三种类型的功能点估算,包括:指示功能点计数、估算功能点计数、详细功能点计数;分别对应项目的前期,中后期的功能点估算需求,同时估算出来的功能点也是越来越细化和精准。
3、划分和确定功能类
将项目的需求拆分成多个独立的功能点,每个功能点都是项目中的一个具体功能或特性。并对每个功能点进行详细的描述和定义,包括功能的输入、输出、处理逻辑等。
可以根据系统的功能特性,将功能分为五类:ILF(Internal Logical File,内部逻辑文件)、EIF(External Interface File,外部接口文件)、EI(External Input,外部输入)、EO(External Output,外部输出)和EQ(External Inquiry,外部查询)。
4、评估复杂度
需对每个功能点,进行估算其复杂度级别(低、中、高/简单、普通、复杂)。功能点复杂度的评估需要对产品需求有深入的理解和把握,能够准确地评估每个功能点的复杂性和难度。
技术复杂度是指项目的技术实现难度,规模复杂度是指项目的规模大小。这两者都会影响到功能点的估算,因此在估算过程中需要予以足够的关注。
5、使用适当的工具
现在有一些工具可以帮助我们进行功能点估算,比如CoCode开发云的软件成本造价工具,它使用AI精准锁定需求缺陷,有助于快速修复缺陷,提高需求质量;另一方面,自动估算项目规模、生成产品报价,提高项目科学估算的准确性。
通过设置调整因子(系统特征因子、工作量因子、费用调整因子)、调整功能点值(复杂度、修改类型、复用程度)和调整非人力成本,多角度多层级地调整影响因子,从而能够更精准地自动估算项目规模、工作量和产品报价。
6、定期评估和调整
功能点估算并不是一次性的工作,而是需要随着项目的进展不断进行评估和调整。因为需求可能会发生变化,技术可能会出现新的发展,这些都可能影响到功能点的估算结果。因此我们需要定期进行评估和调整。
以上就是功能点估算的常规流程,具体的操作步骤可能会因项目的具体情况和需求而有所不同。