GPT当裁判,AI赋能软件工作量评估过程
软件行业最头痛的一个问题-工作量评估。随着软件工程领域的数字化不断深入,工作量评估的精度也在稳步提升。尤其是进入GPT大模型时代后,我们迫切希望AI能给这个长期困扰大家的领域带来新的突破。基于这些想法,本文开展了一些实验探索。
二.实验探索
在实际项目过程中,我们经常需要基于一段文字进行工作量评估,而这段文字描述的准确度、详细度至关重要,与工作量评估结果有着最直接的关系。尤其对于FPA(Function Point Analysis,即功能点评估方法)这类对输入文件有较强依赖的评估方法,这一点显得尤为重要。
ChatGPT 作为当下最流行的大语言模型,能否借助它对原有需求描述进行细化改写,从而更好的丰富评估所需的输入文件呢?或者是GPT能否直接输出评估结果呢?基于这两点疑问,我们开始了实验探索。
说明:在《说说软件工作量评估这件事》中我们提到,FPA是专门针对软件造价评估的方法,且考虑其在金融科技领域的广泛应用,因此本文实验采取工作量评估方法论均为FPA。
(一)GPT参与需求改写
1.实验步骤
实验分为如下几个步骤:
(1)选取业务场景:我们以项目管理系统为示例,从中选取了项目计划、项目预算、问题风险管理等8个业务场景,作为此次实验的基础对象。
(2)工程师需求描述:邀请两位工程师分别对每个场景进行需求描述,为了更好地体现实验的客观性、减少干扰,我们并没有对工程师提出需求模板、详细程度等方面的要求,仅仅是表明此次实验的背景和目的,请他们按照正常的习惯完成需求的描述即可。
(3)ChatGPT需求改写:基于工程师描述的需求内容,让ChatGPT对需求进行改写,要求改写后的需求描述更详细、更完整。
(4)FPA评估:人工对工程师描述的需求和ChatGPT改写后的需求分别展开FPA评估。
(5)差异分析:最终,对两组数据进行差异对比,分析ChatGPT改写后的需求,其功能点总数是否有所提升。
2.实验过程
以下为与ChatGPT沟通过程:
从以上对话中,我们可以看到,ChatGPT确实可以将需求改写得更加细致、丰富。同时,会补充一些通用、但原需求中未提及到的点,比如:导出、条件搜索、提醒、统计功能等。若当前项目处于需求设计阶段,这些功能为我们提供了很好的建议,能查漏补缺、丰富产品设计,可以适当的去采纳、去接受。若当前项目处于后评价阶段,我们需要根据实际情况进行取舍,如果这些功能恰好是已经做了、但是原需求描述遗漏的点,那ChatGPT刚好补充了空缺,从而提升了工作量评估结果。
有意思的是,我们邀请的两位工程师,其需求描述正好代表了两种不同的风格,ChatGPT改写后的需求也形成了鲜明对比。
工程师1需求描述相对详细,ChatGPT改写后,需求内容几乎没有变化,最终FPA评估结果也基本不变。
工程师2需求描述相对较粗,ChatGPT改写后,需求内容进行了细化与扩展,最终FPA评估结果提升幅度较大。
3.实验结果与分析
按照上述步骤,对选取的8个业务场景需求分别进行GPT改写、FPA评估,最终汇总、分析,实验结果如下所示:
从中可以看出,ChatGPT对于输入详细的需求,没有太多发挥空间,工作量评估整体提升有限,以“工程师1”为例,改写后的需求功能点数仅提升4.93%。但对于简单的一句话需求,ChatGPT还是充分体现了他的语言处理能力:对输入的需求描述不仅能完善细化,还能从通用功能设计角度补充出我们的遗漏点,甚至是打开脑洞,设计一些全新功能。以“工程师2”为例,GPT改写后的需求功能点数整体提升了17.34%,这个量级对于真正的项目实战来说,还是相当可观的!
戏剧性的是,工程师2用20%的文字覆盖了85%的功能点,虽然惜字如金,但是他的神来之笔每一个字都正中要害,妥妥文字狙击手~。不过如果换一个没那么有经验的工程师,同样多的文字估计就要遗漏一大半的功能点了。
(二)GPT直接评估工作量
GPT对于需求改写还是有一定成效的,那么能否让它直接进行FPA功能点评估呢?
示例1:
示例2:
在上述两个示例中,GPT能根据FPA评估基本原理,对需求描述进行功能点拆分,但它在识别全面性、准确度方面还有所欠缺,如将查询列表、导出等功能误识别为EI或EO,需要进一步人工纠正。
即便如此,GPT强大的学习能力,还是让我们惊喜的,在功能点识别过程中,虽然识别的准确度与全面性方面还有待提高,但在如此短暂的时间和少量数据训练下,输出这样的结果,已经很惊艳了。当然,进一步提高GPT对于功能点评估的准确性,需要大量的数据与场景去进一步学习与训练。期待在不久的将来它能带来更震撼的效果!
三.总结与展望
当GPT参与软件工作量评估,这个困顿已久的领域忽然被注入了新的活力。虽然当前结果并不尽善尽美,但随着历史数据、业务场景的积累与训练,我们可以畅想在不久的将来,AI能带来全新的突破与变革,实现从需求到代码的全流程的闭环管理。通过与GPT的合作,我们期待看到软件工作量评估的准确性和效率得到提升,同时也希望AI的参与能够激发更多创新思维和方法的发展,让我们拭目以待。
请先 登录后发表评论 ~