原文出自:https://blog.csdn.net/forth_tiger/article/details/539497
现在越来越多的企业涉足软件外包领域,如何对一个软件外包项目进行报价,是每一个企业面临的问题。我结合自己在这个部分的长期工作实践,谈谈软件外包项目的报价过程。
1) 确定单价
开展外包项目,首先就需要结合企业的情况以及目标市场外包行业的价格情况确定本企业的外包人力资源报价。形成一个价格表。报价的单位可以是“人时”,也可以是“人月”。下表示一个价格表示例:
序号
|
工种
|
价格(人时)
|
1 |
项目经理 |
15 |
2 |
架构工程师 |
15 |
3 |
编码工程师 |
10 |
4 |
测试工程师 |
8 |
5 |
文档工程师 |
8 |
6 |
美术设计师 |
8 |
2) 工作内容确认
在接到一个外包项目的需求后,首先并不要忙于进行费用的评估,匆忙的给出一个价格。此时的重点应当是工作内容的确认。
首先成立一个评估小组(一般为3人左右),先分头细读客户需求,特别需要注意一些细节。
然后评估小组的人员一起共同走读、讨论客户的需求。遇到不清楚的,或者是大家理解不一致的地方,都需要详细的记录下来,并及时与客户进行沟通。
有些外包客户会提供比较详细的需求甚至概要设计,也有外包客户提供的项目需求比较粗,这个时候就需要对需求进行细化,并且将细化后的需求交与客户确认。
只有与客户确认过的细化需求才能作为有效的评估的基础。
3) 人力评估
以细化的客户需求为基础,展开人力评估。评估的方法一般采用“先分后合”的方式进行。
首先由评估小组的成员分头独立进行评估。每个人可以采用相同的评估方法,也可以采用不同的评估方法。重要的是必须以细化的并得到客户确认的需求为基础,并且是背靠背的独立评估。在评估的过程中,有的时候会试做部分以小部分内容,以进行摸底和采样。分头评估完毕后,每个成员都需要提交一份评估表。
然后,由评估小组召开会议确认评估结果。会议评估的时候,先需要由每个评估人员针对自己的评估结果进行解读和说明。然后再来综合评估结果。如果小组成员的评估结果相差不大,一般可以采用取平均值的方法来取得最终的评估结果。如果部分内容的评估结果相差较大,则需要针对差异部分进行再评估。如此最终得到一份评估小组成员都认可的人力评估结果。
下表是一个评估结果的示例:
序号
|
工作内容
|
项目经理
|
架构工程师
|
编码工程师
|
测试工程师
|
文档工程师
|
美术设计师
|
1 |
需求分析与管理 |
20 |
15 |
0 |
5 |
0 |
0 |
2 |
概要设计 |
5 |
25 |
15 |
15 |
0 |
25 |
3 |
详细设计与编码 |
|
|
|
|
|
|
4 |
功能1 |
0 |
5 |
24 |
15 |
|
1 |
5 |
功能2 |
0 |
4 |
20 |
13 |
|
1 |
6 |
…… |
|
|
|
|
|
|
7 |
集成测试 |
0 |
5 |
20 |
30 |
|
0 |
8 |
系统测试 |
0 |
4 |
15 |
25 |
0 |
0 |
9 |
配置管理 |
0 |
2 |
4 |
3 |
15 |
0 |
10 |
手册编写 |
3 |
0 |
0 |
8 |
50 |
0 |
11 |
项目管理 |
40 |
0 |
0 |
0 |
0 |
0 |
|
…… |
|
|
|
|
|
|
|
汇总 |
|
|
|
|
|
|
以上的这样一个人力评估表是项目报价的一个重要依据。在给出类似以上的一个人力评估表时,需要注意的是不能遗漏了一个软件项目研发过程的各个环节。需要记住的是:一个软件项目除了编码之外还有很多工作是需要处理的。
4) 项目计划
给出了人力评估表,并没有完。因为一个项目的开展是与项目计划紧密相关的。结合到一个具体的项目中,客户要求的时间紧迫与否其实也在一定程度上决定了报价。因此,一份完整的报价表中,项目计划也是不能缺少的一个部分。
拟定一个项目的项目计划,相信很多人员都有这样的实践经验。结合自己的实践,认为需要特别注意这样几点:
(1) 一定要安排足够的与客户沟通和往来的时间,特别要考虑到时差的因素。
(2) 在项目的进行过程中,最好阶段性的安排与客户确认工作成果,这样可以尽量降低项目的风险。
(3) 在项目的最后,最好安排几次版本提交释放,这样可以通过多次释放来尽量提高项目的品质。
5) 付款计划
付款计划也是报价中一个重要的环节。不同的付款计划,风险也不一样。通常的做法是建议分次付款。这个可以与拟定的项目计划结合起来,在特定的里程碑划定一个付款点。依据这个原则来执行付款,同时,尽量保证在提交最后一个版本的时候,客户需要付的款项低于整个项目总额的20%以下。以下是一个付款计划的范例:
(1) 合同签订后,支付项目总额的15%。
(2) 项目方案确认后,支付项目总额的20%。
(3) 提交α版本,支付项目总额的25%。
(4) 提交β版本,支付项目总额的25%。
(5) 客户验收通过后,支付项目总额的15%。
总结起来,做项目报价需要在充分明确客户需求的基础上进行。一份完整的项目报价,应当包含人力评估、项目计划与要交付的成果以及付款计划等相关内容。这几个部分是不能缺少的,同时,还可以加上其它的一些约束条件等。
以上是自己的一些工作实践,也欢迎大家共同交流和讨论。