在进行软件造价的过程中,经常会有客户问,该项目为升级改造项目,若涉及以前有功能点,现在要删除,是不是不应该算入软件成本中,因为点点鼠标删除功能很简单,根本就没有什么工作量。那么本次我们就结合现有的标准规范以及实际项目情况来谈谈删除功能点到底要不要算钱,如果要算的话应该怎么算?
一、删除功能点需要做什么工作
在升级改造项目中删除一个功能,远比我们所理解的点点鼠标简单地移除几行代码要复杂得多。这是一个需要系统规划、风险评估和严谨执行的变更管理过程,通常需要遵循项目管理和软件工程的标准实践。虽然没有一个单一的、全球统一的“删除功能”标准规范,但相关的最佳实践和行业标准《系统与软件工程软件生存周期过程》(GB/T 8566-2022/ISO/IEC/IEEE1 2207:2017)提供了指导框架。一共有8个步骤,分别是需求分析与影响评估、决策与审批、规划与设计、实施、测试、文档更新、部署与发布、验证与收尾。其中重要的是需求分析与影响评估以及测试,需要明确被删除的功能是否存在依赖关系,识别删除操作带来的潜在风险,并在后续测试中确保修改后的代码单元逻辑正确。所以删除功能是一个正式的变更管理活动,核心在于全面的影响评估、严谨的风险控制、彻底的回归测试、完整的文档更新和受控的部署发布,所涉及的工作量往往比我们想象的要多。
二、删除功能点要不要算钱?
在谈论这个问题之前,我们先来看看功能点计数过程。无论是《系统与软件工程功能规模测量IFPUG 方法》(GB-T42449-2023)还是《系统与软件工程 功能规模测量 NESMA方法》(GB-T42588-2023),均提到想要确定功能点规模,首先需要确定计数范围及边界,也就是需要基于目的识别计数类型,比如是开发项目还是增强项目,然后再基于用户视角而非技术视角确定计数范围内每个应用程序的边界。那么增强项目的定义是什么,在上述两个国标中明确了,增强项目为对既有应用程序进行功能完善的项目。可能在既有应用程序中添加、更改和删除功能。所以由此可知,删除功能点肯定是要算入软件造价成本。那么应该怎么算呢?
三、标准规范中删除功能点的计数方法
增强项目和开发项目整体度量方法没有太大的差别,最主要就是在功能规模度量存在变动。《系统与软件工程功能规模测量IFPUG 方法》(GB-T42449-2023)和《系统与软件工程 功能规模测量 NESMA方法》(GB-T42588-2023)计数方法一致,增强项目功能规模=项目添加的功能点数+项目删除的功能点数+项目更改后的功能点数。而在《中国软件行业基准数据》中,则是进一步规定了功能点计数项修改类型调整因子,新增为1.0,修改为0.8,删除为0.2。那么在实际项目操作中可以理解为当进行功能增强(修改、删除、新增)时,操作的对象就是这些“计数项”(ILF,EIF,EI,EO,EQ),在算出每个计数项大小时还需要乘以相应的调整因子。比如一个升级改造项目新增了两个EQ,删除了一个EO,那么功能点计数规模为2*4*1+5*1*0.2=9个功能点规模。
四、总结
所以总的来说,删除操作通常被视为一种项目交付的变更,会影响应用程序的整体功能规模,删除功能不仅仅是简单的点点鼠标,通常还涉及到分析影响、修改代码、更新文档、回归测试等,这些工作需投入成本。现有标准规范中将删除功能点计入成本,并通过调整因子(0.2)区分其与新增、修改操作的工作量差异,既体现了成本核算的全面性,也保证了合理性。综上,软件升级改造项目中删除功能点需计入造价,具体计算应遵循国家标准,结合调整因子确定最终功能点规模。