一、引言

      随着信息化、数智化发展,人工智能、大数据、云计算、物联网等新兴技术应运而生。这类新技术的特点是交互极少,存在大量计算。软件规模度量是项目估算、工作量估算和成本估算的核心基础。功能点法(FPA)作为主流的功能性规模度量标准,在信息系统、业务管理类软件中已形成成熟实践与行业基线,但其理念是面向数据处理、事务交互型应用,在当前新技术场景中存在一定局限。随之而来的问题是此类项目立项时有没有合适的方法估算软件定制开发工作量和成本。

二、度量流程及方法选用

      《软件工程 软件开发成本度量规范》(GB/T 36964-2018)给出了软件开发成本度量流程,先估算软件规模,其次估算工作量,再估算成本,最终确定软件开发成本。在估算成本时,需要考虑直接人力成本、间接人力成本、直接非人力成本和间接非人力成本。《2025年中国软件行业基准数据》CSBMK-2025中的软件开发基准人月费率代表该地区统计数据中位数(P50),一人月以21.75天计。费用包含软件开发的直接人力成本、间接人力成本、间接非人力成本及合理利润(含税),但不包括直接非人力成本。

      估算定制开发软件工作量和成本的方法不唯一,应该根据实际情况进行选择。当定制开发的软件采用新技术、非专注于事务交互的功能且需求相对模糊不确定时,如人工智能、大数据、云计算等开发,可定制回归方程估算工作量和成本,或采用类比法或类推法直接粗略估算工作量,或直接粗略估算成本。
采用方程法的关键在于建立可靠的模型和基准数据,通过输入模型各项参数,确定待估算项目工作量或成本。建模过程中要注意找出影响估算的风险点。
采用类比法的关键在于找到基准数据,通过本项目的部分属性与类似的一组基准数据进行比对,确定待估算项目工作量或成本。
采用类推法的关键在于找到一个高度类似的项目及其差异,通过将本项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,确定待估算项目工作量或成本。

估算成本时,应遵循:

1)工作量和成本的估算结果宜为一个范围值;

2)在进行成本估算时,如有明确的工期要求,应充分考虑工期对项目成本的影响,可以根据项目实际情况以及工期对项目的影响程度,对成本的估算结果进行调整;

3)成本估算过程中宜采用不同的方法分别估算并进行交叉验证。如果不同方法的估算结果产生较大差异,可采用专家评审方法确定估算结果,也可使用较简单的加权平均方法。

三、应用示例

      某集团科技公司承接了集团扩建一个客服系统的任务。本期客服系统主要加入了问答智能体的定制开发,同时优化界面,包括排版、字体、色系、图标以及动画。

      科技公司有一个稳定的专门负责界面优化改造的团队,积累了丰富的经验,大量的优化工作由中级人员承担。同时在工作过程中,积累了相当多的工时数据。另外,科技公司去年新成立了一个人工智能应用开发的团队,专注于智能体开发和应用开发。团队成立时,做过一个非常类似的知识库智能体开发。
界面优化是非功能性开发,智能体开发运用了大量的新技术且需求不确定。这种定制开发软件不太适用通过功能点评估软件规模。所幸的是公司有大量的界面优化项目,且积累了大量数据,公司做过一个高度类似的智能体开发。

      面对上述情况,不太适用基于功能点方法估算软件开发规模。可根据实际情况及前提假设条件,风险评估结果,选择合适的估算方法估算工作量和成本。估算方法的选择和应用可以是多种组合。通过建立回归方程估算界面优化工作量和成本,通过类推法估算自动问答智能体工作量和成本,最后得出总体软件定制开发成本。在分别评估界面优化工作和智能体工作时,要识别重复的工作,评估后去重。

界面优化:

      可以收集历史界面优化的项目各类数据,找出影响工作量和成本的关键因素,建立回归方程式。建立回归方程式时,可考虑页面复杂程度、界面优化的工作模式和工作流程、界面优化的返工次数、界面优化使用的工具、是否利用组件、是否有标准制定、界面优化人员人月单价等因素对工作量和成本的影响。同时通过对历史数据的测算,建立基准数据。对于建立的回归方程式,要通过历史数据验证计算结果,并不停优化。

      通过分析,当前页面优化工作主要与页面数量、组件开发数量和人员级别密切相关,与页面复杂度、调用组件个数相关性不大。单个页面优化基准工作量为3人天,单个组件开发基准工作量为5人天,两者均包含了需求、设计、开发、测试和实施。总界面优化工作量的回归方程式为页面优化数量*单个页面优化工作量+组件开发数量*单个组件开发工作量。总界面优化成本的回归方程式为总界面优化工作量*界面优化人月单价。若当前需要优化除了智能体外的15个页面,新开发3个组件,中级人员基准人月单价为1.5万元。总界面优化成本=(3*15+5*3)/21.75*1.5=4.14万元。

智能体:

      公司没有开发过大量智能体,也找不到公开的智能体开发基准数据,但是公司已做过一个高度类似的知识库智能体开发,因此可以采用类推法估算出自动问答智能体的开发工作量和成本。关键在于找出自动问答智能体与知识库智能体的差异之处,对差异之处估算工作量和成本,估算出自动问答智能体的工作量和成本。

      经过需求分析,比较自动问答智能体和知识库智能体,发现决策中心大模型、智能体引擎和外部知识知识系统没有变化,不存在开发工作,可以直接使用。而自动问答智能体需要新开发8个API及对应的UI,开发难度基本与知识库智能体UX层的API持平。开发团队成立近一年,经过磨合和一定的技术沉淀,成长为成熟团队且熟悉原有的知识库智能体,开发效率提高了30%。

      知识库智能体的UX层的每个API及对应UI开发成本平均为1万元,包括了从需求、设计、开发、测试到部署全过程。由于开发团队已熟悉API开发,效率提升30%。以知识库智能体开发API的成本类推,得到:8 * 1 * (1-30%) = 5.6万元

      项目开发无工期额外要求,也不需要采购额外设备,LLM的token调用费用不在本项目范围内,故直接非人力成本为0元。汇总界面优化和自动问答智能体成本中值为4.14+5.6=9.76万元。评估结果宜为一个范围,在项目初期,以取值范围上下浮动20%计算,则开发成本的范围为7.81万元到11.71万元,合理成本为9.76万元。

      经过内部专家组使用经验法,经过三点估算后,得到10万元。与通过上述回归方程和类推法计算得到的结果差异不大,结果可接收。

注:

      类推法:将本项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,适当调整后获得待估算项目工作量或成本估算值的方法。

      方程法:基于基准数据建立参数模型,并通过输入各项参数,确定待估算项目工作量或成本估算值的方法。

      人月单价包含了直接人力成本,间接人力成本及间接非人力成本。

      如果公司以前没有做过智能体的开发,可以将智能体的开发拆解成多个工作包,如技术架构验证,再根据智能体每一层的特点选用合适的估算方法,同时考虑开发团队的熟练程度。技术架构验证可以采用专家经验法三点估算出工作量和成本;智能体引擎开发可采用类推法,比较类似的算法模型开发工作量,估算工作量和成本;使用现成公共大语言模型(LLM),不做修改;外部能力系统可采用类功能点法或类比估算工作量或成本;外部知识系统为已有的知识库,只需开发一些接口,可采用功能点法估算工作量或成本;用户交互层(UX)可采用功能点法或类推法估算工作量或成本。同时,开发团队无类似经验,会花更多工作量,团队因子可以取1.2。最后,比较实际发生工作量,优化估算方法和模型。声明:本文著作权及所有权均归北京中基数联科技有限公司所有。任何形式的转载或引用,均需清晰标注文章来源。