一、直接上结论
公式:项目人天消耗 = 模块数 x 复杂度系数 x 原创度系数 x 1.8
公式名称:杨氏SPQ速算法(Young’s Quick calculation Formula Of Software Project Quotation)
释义:
项目人天消耗:指最终我们要知道这一个项目需要用多少时间。
模块数:是指客户需要多少大的模块,比如“仓储”、“财务”、“报表”等。
复杂度系数:是指实现每个模块,要达到的复杂程度。比如一套简单的CURD,可以把系数定为4。在这个基础上每增加一个功能点,复杂度系数都会随之增加。
原创度系数:是指项目的原创程度。这个可以看量表来制定。
二、公式是怎么来的?
非常简单,采用一些量化方法测出较为精确的数值,即可得到公式。比如说高级程序员英文打字速度可以达到230,中文打字速度可以达到90,平均每行代码25个字符,最快一个小时可以敲573行。但是由于编写软件是智力密集型工作,所以实际每个高级程序员最多只能每天产出200行的有效代码,而一个模块一般会有105个功能点,每个功能点约3个类,一个类平均95行。若干个这样的项目经过统计后,根据统计学原理,加上实际可能出现的各种状况,从而得出公式。
三、模块数怎么确定
比如客户想要一个进销存、财务、供应链、电子商务四个模块构成的系统,则模块数定为4。这里的模块数是从业务角度出发的,比如同样是电子商务,可以分为B2C、C2C、B2B2C、O2O,这就本身细分为4个模块,如果还有营销中心、开放平台、配送中心,也要单独列为3个不同的模块,如果客户只是想要个简单的自营线上店铺,则只需列1个模块即可。如果模块要增加一个客户端展现形式,则每增加一个端,需要加1个模块。
四、复杂度系数怎么确定
可以参照如下量表确定复杂度系数,如果是微型项目,一般定为1;如果是小型项目,一般定为4;如果是中型项目,一般定为16;如果是大型项目,一般定为64;特大型项目(比如预算超过千亿级别)则可能并不适用此公式。
| 复杂度系数 | 标准 |
|---|---|
| 1 | 仅提供展现 |
| 2 | 仅提供展现和无需权限校验的表单录入 |
| 4 | 提供增删改查 |
| 8 | 提供前后端交互、数据权限校验 |
| 16 | 提供完整的日志、风控、报表、按钮权限控制、通知功能 |
| 32 | 提供流程、审批、外部接口、导入导出、打印等功能 |
| 64 | 提供分布式、微服务、失败故障转移、DevOps、二次开发工具、大数据可视化等增值服务 |
用大白话来说,如果做出来的东西只是用来看的,不需要后期任何修改,那么复杂度系数定为1;如果做出来的东西客户可能要自行简单调整,那么复杂度系数定为4;如果客户的业务听起来云里雾里的,甚至有点感觉听不懂,那就毫不犹豫的把复杂度系数定为32;如果客户说要搞大屏、几千万数据、几百万并发、数据实时无误差等,那就把复杂度系数定为64;
五、原创度系数怎么确定
可以参照如下量表确定原创度系数
| 原创度系数 | 标准 |
|---|---|
| 1 | 利用现成的系统改造(业务层成品) |
| 2 | 在现成的系统上改造界面 |
| 3 | 在现成的系统上改造业务 |
| 4 | 业务逻辑完全自主研发 |
| 5 | 自主研发底层平台 |
| 8 | 自主创造领域描述语言 |
六、如何计算费用
一般来说,人天费用除了开发费用以外,也会有一些冗余用来做沟通成本、商务成本、财务成本、管理成本、办公费用成本、设计耗时成本等等……说来脑袋都大了,有没有一种快速定费用成本的办法呢?当然有!看下面这张表:
| 每人天费用 | 标准 | 实际利润空间 | 推荐复杂度系数 | 推荐原创系数 |
|---|---|---|---|---|
| 500 | 程序员级别个人外包 | 仅赚零花钱 | 4 | 1 |
| 800 | 工程师级别个人外包 | 兼职收入约等于工资的一半 | 16 | 4 |
| 1600 | 小型外包工作室 | 整体项目的5%左右 | 8 | 2 |
| 2000 | 专业外包公司 | 整体项目的10%左右 | 32 | 1 |
| 2500 | 品牌软件开发公司 | 整体项目的7.5%左右 | 64 | 8 |
七、让我们看几个案例
案例1:客户想开发一个图书管理系统,包含图书基本信息维护、借阅归还管理、会员卡管理(包含储值、会员等级)、借阅积分管理(包含积分商城)、图书心愿墙、经营报表,需要支持手机、平板、PC、PC管理端,平时就一个管理员在用。大概需要多少费用?
我们将需求展开,基本信息维护、借阅归还管理、会员卡管理、储值管理、会员等级管理、借阅积分管理、积分商城、图书心愿墙、经营报表、手机端、平板端、PC端、PC管理端,则模块数量定为13。
因为客户对数据权限、日志、流程等没有需求,所以复杂度系数定为4(提供增删改查)。
因为客户的需求有很多非常规图书管理系统应当有的个性化定制(比如图书心愿墙、积分商城),所以原创度系数定为4(业务逻辑完全自主研发)。
因此预估工时为13 x 4 x 4 x 1.8 = 374.4人天,此项目最适合找个小型外包工作室来做,则费用为元,约为60万元。
案例2:客户想做一个企业门户网站,没有什么特殊要求,平时只有一个人兼职更新一下文章。大概需要多少费用?
一个企业门户网站我们可以规划为栏目管理、文章管理、求职招聘、在线下单四个模块,则模块数量定为4。
因为客户只需要一套简单的增删改查,所以复杂度系数定为4。
因为该系统有很多现成系统可供使用,因此原创度系数定为1。
得到预估工时为4 x 4 x 1.8 =28.8人天,
该项目复杂度和原创度要求都比较低,因此外包给普通程序员,
费用约为28.8 x 500 = 14400元。
案例3:一个大型跨国集团客户想做一个涵盖售前售中售后流程的大型在线系统,可以允许全球5万员工同时在线,大概需要多少费用?
这类需求我们可以针对售前、售中、售后做预估,平均每个板块会有30个左右的功能模块,则模块数量定为90。
因为客户对并发和数据量有所要求,因此复杂度系数定为64。
因为客户对原创度要求较高,为了满足快速变化的需求场景,需要专门定制DSL,因此原创度系数定为8。
那么该系统需要耗费82944人天。
由于只有大型品牌软件公司有实力完成该工作任务,因此按人天成本2500元计算,则费用约为:
元,合2.074亿元。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/56719.html