第 12 章:软件项目合同计划

本章要点有 4 个:合同类型、合同计划、敏捷项目合同计划、案例分析。PPT 一开始用 Email 模块外包举例:要考虑“委托哪个公司完成、多少钱合适”。


1. 先记两个基本概念

项目采购:为了执行项目而从项目团队外部获取产品、服务或者结果的过程,称为采购。

合同:合同是具有法律效力的协议。它要求:双方自愿达成协议、签订者具有相应法律能力、有充分签约理由、具有合法目的。

考试记法: 采购 = 从外部买东西/服务/结果;合同 = 有法律效力的协议。


2. 合同类型:三大类

PPT 将合同类型分成三种:成本补偿合同、总价合同、工料合同 T&M

2.1 成本补偿类合同

定义:向卖方支付完成工作发生的全部合法实际成本,外加一笔费用作为卖方利润。适用于:工作范围预计会在合同执行期间发生重大变更

它下面有三种:

类型英文缩写核心意思
成本加固定费用CPFF实际成本 + 固定费用
成本加激励费用CPIF实际成本 + 利润 + 激励分配
成本加奖励费用CPAF实际成本 + 甲方判断决定的奖励

CPFF 例子:预计成本 10 万,固定费用 1.5 万。如果实际成本增至 20 万,支付总价 = 21.5 万;如果实际成本 30 万,支付总价 = 31.5 万。因为固定费用不随实际成本改变。

CPIF 例子:预计成本 10 万,利润 1 万,激励分配 80/20。如果实际成本降到 8 万,节省 2 万,卖方拿 20%,所以支付总价 = 8 + 1 + 2×20% = 9.4 万。

CPAF 例子:预计成本 10 万,奖励费用由甲方判断决定。没有奖励则支付 10 万;奖励 3 万则支付 13 万。


2.2 总价合同

定义:总价合同为既定产品、服务或成果的采购设定一个总价。适用于:需求已明确定义,且不会出现重大范围变更

它下面有三种:

类型英文缩写核心意思
固定总价FFP合同价格固定
总价加激励费用FPIF/FPI有目标成本、价格上限、卖方利润、分享比例
总价加经济价格调整FPEPA在基本总价基础上,根据特殊情况调整最后总价

FFP 例子:合同价格 100 万。实际成本 80 万,总价还是 100 万;实际成本 150 万,总价也还是 100 万。

FPIF 例子:目标成本 100 万,价格上限 110 万,卖方利润 10 万,分享比例 70/30。若实际成本 80 万,则总价 = 80 + 10 + 20×30% = 96 万;若实际成本 150 万,则总价受价格上限限制,为 110 万。

FPEPA:在一个基本的总价基础上,根据一些特殊情况进行最后总价的调整。


2.3 工料合同 T&M

工料合同是成本补偿合同和总价合同特点的混合型合同。它要求为每一个单位的工作量付出一定报酬,比如工程师单价 130 美元/工时,或产品单价 1500 元/功能点。

考试记法: T&M = Time & Material,按工时/工作量单位付费。


3. 合同类型与风险

PPT 的风险方向是:

从成本补偿类合同到总价合同:乙方风险增加,甲方风险增加的方向相反。

也就是:

  • 成本补偿类合同:甲方风险较大,因为实际成本增加时,甲方要承担更多。
  • 总价合同:乙方风险较大,因为价格固定或受上限约束,成本超了主要由乙方承担。
  • PPT 图中顺序大致是:CPFF、CPIF、CPAF 到 FPEPA、FPIF、FFP,越靠总价合同一侧,乙方风险越高。

考试判断题常考: 需求不明确、范围可能大变 → 不适合固定总价,更适合成本补偿类。 需求明确、范围稳定 → 适合总价合同。


4. 软件外包

PPT 对软件外包的定义是:软件项目外包实质是软件开发过程从公司内部部分或全部延伸到公司外部的管理规范与管理技术。

软件外包基本步骤:

  1. 竞标邀请
  2. 评估候选供方的综合能力
  3. 确定承包商

软件外包项目工作:

  1. 保障沟通
  2. 做好计划
  3. 避免延误

5. 合同计划

合同计划要明确:如何进行委托、委托什么项目、何时进行、费用如何等,还要选择需要的合同类型、采用的招标方式、合同形式等。

合同计划的输出:招标书或者类似招标书的形式体现的文件

考试记法: 合同计划 = 委托谁、委托什么、什么时候、多少钱、用什么合同和招标形式。


6. 敏捷项目合同计划

PPT 先问:“敏捷宣言哪句话可以体现敏捷合同特性?”答案是:客户协作高于合同协商

敏捷合同策略强调“动态”,包括:

  1. 多层协议结构
  2. 价值交付,例如迭代付费
  3. 总价增量,例如基于 Story 付费
  4. 灵活总价方案
  5. 动态范围方案

重点解释

多层协议结构:PPT 图里是一个主协议下面接多个子协议。

价值交付:强调价值交付,基于价值驱动进行迭代交付。

总价增量:不限定项目总预算,而是把范围分解为一些微型交付成果,例如以 Story 为单位的交付成果,单独计算成本预算,可以很好地控制成本预算。

灵活总价方案:如果在合同期限之前交付,可奖励供应商;如果延迟交付,则扣除一定费用。如果敏捷供应商完成一半范围就交付足够价值,客户不再需要另一半范围,则不必支付这部分费用。

动态范围方案:对于固定预算的合同,供应商可为客户提供在项目特定点改变项目范围的方案。


7. 本章最后一句核心总结

PPT 的本章小结是:

传统合同:费用确定。 敏捷合同:费用灵活。


考前速记版

这章最可能考这些:

  1. 采购定义:从项目团队外部获取产品、服务或结果。
  2. 合同定义:具有法律效力的协议。
  3. 三类合同:成本补偿、总价、工料 T&M。
  4. 成本补偿适用场景:范围可能重大变更。
  5. 总价合同适用场景:需求明确、范围稳定。
  6. CPFF:实际成本 + 固定费用。
  7. CPIF:实际成本 + 利润 + 激励分配。
  8. CPAF:奖励由甲方判断决定。
  9. FFP:合同价固定,实际成本变了也按合同价。
  10. FPIF:有目标成本、价格上限、利润、分享比例。
  11. T&M:成本补偿和总价混合,按单位工作量付费。
  12. 风险方向:总价合同更偏乙方风险,成本补偿更偏甲方风险。
  13. 合同计划内容:委托什么、何时、费用、合同类型、招标方式、合同形式。
  14. 敏捷合同关键词:客户协作高于合同协商。
  15. 敏捷合同总结:传统合同费用确定,敏捷合同费用灵活。

检测题

小题

  • 为了执行项目而从项目团队外部获取产品、服务或者结果的过程,称为采购
  • 双方合同人在不同环境下承担不同角色,这些角色称为甲方和乙方
  • 卖方承担风险最高的是固定总价
  • 某项目采用成本加激励费用的成本补偿类合同,当预计成本为 20 万元,利润 4 万元,且奖励分配为80/20时,如果实际成本降至 16 万,则项目总价为 (20 - 16) * 20% + 4 + 16 = 20.8
  • 固定价格不是敏捷项目设计的动态特性的合同部署技术