夜雨聆风学习资料网

ARTICLE · 1184277

第32集 软件造价的水有多深:功能点法、用例点法、代码行法,怎么算都有理

第32集 软件造价的水有多深:功能点法、用例点法、代码行法,怎么算都有理

陈峰常说,工程造价的水已经够深了,但跟软件造价比起来,那就是小巫见大巫。

为什么?因为工程造价比的是量——土方多少方、钢筋多少吨、混凝土多少方,都是看得见摸得着的,定额摆在那儿,差也差不了太多。

软件造价就不一样了。同样一个功能,有人说值十万,有人说值一百万,中间差十倍。而且谁都有道理,谁都能拿出依据来。

陈峰第一次见识到软件造价的水有多深,是在一次需求变更的造价评估会上。

事情是这样的:甲方业务部门提了一个需求变更,要在指挥大屏上增加一个"城市运行态势分析"模块。功能说复杂不复杂,就是把几个关键指标用图表的方式展示在大屏上,再加几个钻取查询。

陈峰让软件造价师小刘评估一下这个变更要多少钱。小刘算了一天,报了个数:85万。

陈峰当时就愣了:"就几个图表,要85万?你没算错吧?"

小刘推了推眼镜,一本正经地说:"陈总,我按功能点法算的。这个模块一共42个功能点,每个功能点按2000元算,就是84万。再加1万的文档和测试费,总共85万。"

功能点法?陈峰对这个词不陌生,但具体怎么算的,他还真不太懂。

42个功能点,2000块一个,85万。这价格,说贵不贵,说便宜也不便宜。但陈峰总觉得,不就是大屏上展示几个图表吗?用得了这么多钱?

他没急着报给甲方,而是找了另一家外包公司的项目经理,让他们也估一下。结果人家报了个40万。

同样的功能,差了一倍还多。

陈峰把小刘叫过来,把两份报价放在桌上:"你看看,人家报40万,你报85万。差了一倍还多。怎么回事?"

小刘拿起另一份报价看了看,撇了撇嘴:"陈总,他们那是凑活做的价。您看,他们只算了开发的工作量,没算需求分析、设计、测试、部署、文档这些。而且功能点的计数方法也不对,他们把几个功能合并成一个算了,当然便宜了。"

"那你的意思是,你算的才是对的?"

"至少是规范的。"小刘挺了挺胸,"我是按IFPUG(国际功能点用户组)的标准方法算的,有完整的计数过程。他们那个,就是拍脑袋估的。"

陈峰笑了:"小刘啊,我问你一个问题。如果换一个人,用功能点法算同样的功能,结果会一样吗?"

小刘犹豫了一下:"这个……差不多吧。当然,不同的人计数可能会有点差异,但总体应该差不多。"

"差多少?10%?20%?还是50%?"

小刘不说话了。

陈峰站起身,在办公室里踱了两步:"小刘,我干工程这么多年,有个体会——凡是需要人来判断的东西,就一定有弹性。功能点法听着很科学、很规范,但功能点怎么数、每个功能点算几个复杂度、调整系数怎么取,这不都是人说了算的吗?"

"你想算高,就可以把功能拆细一点、复杂度定高一点、调整系数取大一点;你想算低,就可以把功能合并一点、复杂度定低一点、调整系数取小一点。怎么算都有道理,因为标准就在那儿,但怎么解释,全凭一张嘴。"

小刘的脸有点红:"陈总,话不能这么说。功能点法是国际通用的方法,有严格的标准的。"

"标准是死的,人是活的。"陈峰摆摆手,"行了,我不是否定功能点法。我是想告诉你——软件造价这个东西,没有标准答案。同样的功能,能算出好几种价格,关键看你站在什么立场、想达到什么目的。"

他顿了顿,问:"这个变更,你觉得我们报给甲方多少合适?"

小刘想了想:"报85万肯定不行,甲方会觉得太贵。但报太低了,我们又赚不到钱。我觉得……60万左右比较合适。"

陈峰摇摇头:"60万也高。你想想,甲方为什么提这个变更?因为他们觉得这个功能很重要、很简单,就是多加几个图表嘛。你报60万,他们第一反应就是——你们抢钱啊?"

"那报多少?"

陈峰伸出三根手指头:"30万。"

30万?那我们不就没利润了吗?"小刘急了。

"没利润?怎么会没利润。"陈峰笑了,"这个功能,你用现成的图表组件改一改,再做几个数据接口,能花多少工作量?两个人做两个礼拜顶天了。成本撑死十万。报30万,还有20万的利润,利润率60%多,还不够?"

小刘张了张嘴,想说什么又没说出来。

陈峰拍了拍他的肩膀:"小刘,软件造价师的本事,不是能把一个功能算出多少钱,而是根据不同的场合、不同的对象,算出一个对方能接受、我们也不吃亏的价格。这才是真本事。"

"对甲方报价,不能太高也不能太低。太高了,甲方觉得你坑他;太低了,甲方觉得这个功能没价值,反而不重视。要找到那个'刚刚好'的点。"

小刘似懂非懂地点点头。

陈峰又问:"那如果甲方让他们自己的造价师来审,你怎么办?"

那就看谁的嘴巴厉害了。"小刘嘟囔了一句。

陈峰哈哈大笑:"你说对了!软件造价到最后,拼的不是谁算得准,是谁更能说、谁更有道理、谁的依据更充分。所以啊,你要把功能点法的每一步都做得无懈可击——计数过程、复杂度判定、调整系数、行业基准数据,每一样都要有凭有据。到时候跟甲方造价师对线的时候,你才能站稳脚跟。"

小刘用力点点头:"我知道了陈总!"

三天后,陈峰把35万的变更报价报给了甲方。比他预估的30万多了5万,留出了砍价的空间。

果然,甲方的造价咨询公司审了一下,砍到了28万。

陈峰假装讨价还价了一番,最后"勉为其难"地同意了。

28万,比陈峰预期的还少了2万,但也足够了。软件开发成本不到10万,净利润18万,利润率超过150%。

小张知道了之后,咂舌不已:"我的天,软件的钱这么好赚?几行代码就几十万?"

陈峰笑了笑:"你以为呢?为什么那么多人做软件?因为软件的边际成本几乎为零。一个功能开发出来,卖一次是赚,卖十次也是赚。但你也要知道——软件的钱好赚,也不好赚。因为价格没标准,全靠谈。谈得好,一本万利;谈不好,白忙活一场。"

他看着窗外,悠悠地说:"软件造价这潭水啊,深着呢。咱们才刚摸到边。"

小张若有所思地点点头。他忽然觉得,以前对造价的理解,太浅了。

【陈峰避坑笔记】

软件造价是新基建项目中最有弹性也最有门道的部分。核心认知:1. 软件造价没有绝对的标准答案——功能点法、用例点法、代码行法、人天估算法,每种方法都有道理,但结果可能天差地别。因为每种方法都需要人的主观判断,有判断就有弹性;2. 功能点法看似科学规范,但计数规则、复杂度判定、调整系数的选取,都有很大的操作空间。想算高就拆细、想算低就合并,怎么算都能找到依据;3. 报价策略:软件变更报价不是越高越好,也不是越低越好,而是要找到甲方心理预期和乙方利润空间的平衡点。报价时留出砍价空间,让甲方有成就感;4. 造价师的核心能力:不是能算得多准,而是能根据不同场景、不同对象,算出一个对方能接受、己方也划算的价格,并且提供充足的依据支撑;5. 谈判准备:把计价的每一步都做得有据可查——行业标准、功能点计数过程、复杂度判定理由、调整系数依据、市场价格数据……资料越充分,谈判时底气越足;6. 本质:软件造价的本质不是计算,是博弈。谁的依据更充分、谁的逻辑更自洽、谁的谈判能力更强,谁就能拿到更好的价格。

相关学习资料