软件成本估算:量化“人”成本的6个重点

183 阅读7分钟

软件成本估算综合功能,人力成本的精准量化有助于软件预算更精准,资源分配更合理,通过数据驱动决策从而进一步提升项目的成功率。

如果人力成本估算失准,将导致项目预算失控、资源错配,因资源短缺被迫削减功能,团队士气受挫,可能最终项目延期、超支甚至失败。

因此,我们需要重视人力成本估算,以下主要是从 6方面进行阐述:

封面2.jpeg

项目成本估算:人力成本

1、角色与级别

首先需明确项目需要哪些人,不同角色不同级别对应的人力成本不同,如一个资深架构师的费用是初级开发者的2—3倍。

每个项目组角色在不同地区的薪资水平不同,如一线城市后端开发的月薪在1.5万以上,而二线城市同样级别后端开发的月薪在1万左右。

以上这些是计算人力成本的基础,我们不仅仅要考虑账目工资,还需要考虑全负荷费用。即公司雇佣一名员工所承担的全部年度费用,这不仅包括年度总薪酬(包括基本工资、奖金、绩效、津贴、社保公积金、各类福利等),还包括年度总间接成本(包括办公场地租金、水电网络、办公设备折旧、公共软件许可、分摊的管理和行政费用、培训费用等。

注意事项​:

(1)估算需计算全负荷费用,摆脱工资幻觉,否则容易严重低估项目预算。如月薪2万的员工,公司实际年度总成本一般超过35万。

(2)注意不同角色、级别所对应的费用差异。

角色与级别

2、设定效率基准

我们需明确项目组每个角色的工作效率标准即设定效率基准,从而能够计算出项目所需的人天,进一步精准的估算人力费用。如1个简单页面前端需要1天开发完成,复杂页面需3天完成,在此基准上,我们可以估算出项目任务量所需要的人天,进而计算出此部分的项目成本。

整个项目组成员级别不同,相关效率值也不同,我们需建立效率系数模型来区别项目成员间的生产力差异,通常会将一名熟练的中级工程师的效率系数定义为 1.0。那么项目的人力估算模型如下:

初级工程师:0.5 - 0.7 (需要指导和监督,产出质量不稳定)

中级工程师:1.0 (基准,能独立可靠地完成任务)

高级工程师:1.5 - 1.8 (能解决复杂问题,设计模块,指导他人)

架构师/技术专家:2.0+ (在系统设计、技术选型等关键任务上效率极高,并能通过决策影响整体团队效率)

工资级别.jpg

设定效率基准

注意事项​:

(1)效率基准需参考过往类似项目数据,不能凭借感觉拍脑袋决定。

(2)实行任务匹配原则,在我们估算时,需要根据任务复杂度来指派相应级别的任务。另外需注意,新成员加入团队,其首月效率往往仅为基准的30%-50%。

3、有效工时

我们需要关注有效工时的概念,项目团队成员工作时间并非全部用来创造项目价值,而标准的资源日历是需要扣除所有非项目时间。

即有效年工作日:365天 - 周末 - 法定假日 - 年假(~10-15天)- 病假(~5-10天)- 全员会议/培训(~5-10天)- 公司活动/行政事务(~5天) ≈ 200-220天。而日有效工时是在8小时工作制中,扣除日常沟通、邮件处理、休息后,真正专注于项目任务的时间,通常只有 5-6小时。

所以我们在核算人力成本时,需要先核算出有效工时比例,才能得到实际有效工时。如一个项目计划让 1 个后端开发工作 1 个月(如每月 22 天,每天 8 小时,总时长 176 小时),有效工时比例按 70% 算(即每天有效工时 5.6 小时),那有效工时就是 176×70%≈123.2 小时。如果后端开发时薪约 114 元(月薪 2 万 ÷22 天 ÷8 小时),那这部分成本就是 123.2×114≈1.4万元。​

注意事项​:

(1)有效工时比例要合理,业内有效工时比例一般在 60%-80% 。

(2)需要项目成员每天记录真实工时,可以据此调整有效工时比例,让估算越来越准。

Co-Projcet智能项目管理中的记录工时

4、技术债务对成本的影响

我们需要注意技术债务对成本的影响程度,它是最隐蔽也最致命的成本项。技术债务是指为了短期速度而采用的不完美方

技术债务

5、团队协作的沟通模型

我们需要注意:随着团队规模的扩大,成员间的沟通路径呈指数级增长,这往往容易导致协作效率下降,而因沟通协作而造成的沟通成本必须被量化。

沟通路径公式:沟通路径数 = n(n-1)/2 (n为团队人数)。如,5人团队 → 10条路径,10人团队 → 45条路径 (沟通复杂度增长4.5倍!)

在多人合作的开发项目中,总是需要时间进行沟通协作,即为协作耗损。如前后端对接接口,因沟通理解问题出现错误,需1天时间重新调整。这些协作耗损都需量化进去。我们通过将团队协作效率建模为团队规模的函数。如一个5人团队协作效率为90%,那么15人团队协作效率降为70%,这意味着我们30%的团队精力花费在会议、理解、同步等沟通活动上。

注意事项:

(1)根据模型,我们可以通过优化团队结构将大团队拆分为小团队,每一个团队都需要有明确的目标,从而大幅度减少沟通路径,控制协作成本。

(2)充分利用协作工具有效降低整体沟通成本,如Teams、Jira、Co-Project等协作工具以及CI/CD流水线等。

协作.jpg

团队协作的沟通

6、风险成本预留

在项目开发中难免会遇到人员离职、需求变更等意外风险,这些都会增加人力成本。因此我们在估算时要预留一部分风险成本,一般按“人”的基础成本的 10%-20% 来算。

注意事项​:

(1)风险成本需保留一定比例,不宜太高或太低。

(2)根据项目复杂度调整比例,简单的项目(如做一个静态展示网站)风险低,预留 10% 就行;复杂项目(如做一个金融交易系统)风险高,要预留 20% 甚至更高。

另外,为了进一步提高估算的准确性,可以使用AI估算工具,如Co-Project智能项目管理平台的AI自动估算功能,通过设置调整因子(软件估算时机、软件因素、开发因素)、调整功能点值(复杂度、修改类型、复用程度),多角度多层级地调整影响因子,从而通过需求一键自动估算项目规模、生成产品报价,提高项目科学估算的准确性。使用此功能能够节省15-25%的开发成本。

记录工时.png

AI自动估算调整参数

总之,通过以上6大方面,我们能够更全面更精准地量化“人”的成本与效率,助力软件成本估算更精准。