适合敏捷开发的合同模式:目标价格,风险均摊

敏捷给产品开发带来的价值已经日益被软件开发业界所认可,从几个人的创业公司到几十万人的跨国企业,越来越多的产品团队采用敏捷的方式收集分析需求、开发产品、乃至部署运维。然而,传统的软件合同与敏捷开发方式相互冲突,往往会导致产品失败或大大降低敏捷给产品开发带来的价值。在11月7日召开的Agile Singapore大会上,来自挪威PROMIS公司的Trond Åsheim展示了一种适合敏捷开发的合同模式。

\

Trond首先回顾了传统的两种软件开发合同模式:固定价格(Fixed Price)和时间材料(Time\u0026amp;Material)。

\

固定价格模式将风险全部转给供应商,因此需求越抽象、需求变更越频繁、需求范围越模糊,供应商的风险越高。为了降低风险,供应商势必要求客户在开发启动前就明确需求范围、提供详尽的需求描述、控制需求变更频度——这样的做法毫无疑问是与敏捷价值相冲突的,所以毫不奇怪基于固定价格模式的敏捷开发很容易以失败告终。

\

时间材料模式则将风险全部放在客户方,容易导致客户方对于供应商持有很高的不信任感,这也是不利于客户协作的。

\

Trond介绍了适合敏捷开发的合同模式:目标价格(Target Price)。在目标价格的基础上,客户和供应商以预先商定的比率(一般而言50:50)共同承受收益或亏损。Trond用图表很好地比较了这三种合同模式。

\

适合敏捷开发的合同模式:目标价格,风险均摊

\

Trond列举了目标价格模式对敏捷开发友善之处:

\
  • 风险由客户和供应商均摊;\
  • 供应商可以在较大的不确定性的基础上估算成本、制定解决方案;\
  • 客户不必从一开始就提供详尽的需求;\
  • 供求双方均不需在投标阶段花费大量时间和资源制作规格说明书、详细设计和计划(无论是否敏捷开发,这些东西往往在开发过程中很快就失去其作用,反而持续束缚团队开发出真正有用的产品)。\

Trond介绍了一个在挪威IT业界行之有年的基于目标价格模式的合同模型:PS2000 Agile。这个合同模型曾经于2008 - 2011年帮助一个一亿元挪威克朗的项目取得成功。具体介绍可以参看这里

\

此外,Trond也谈到了敏捷合同应该具备的特点:

\
  • 在合同期间能够很好地应对客户不断变化的商业环境和冲击;\
  • 在开发期间更灵活地处理需求和范围变化;\
  • 引入更多专职于与团队协作的客户;\
  • 减少冗员,使计划、控制和跟踪更加有效率;\
  • 通过每日站会持续跟踪进度和,降低不确定性;\
  • 鼓励团队自我组织。\

关于Agile Singapore大会:这是由Rally SoftwareOdd-e联合冠名赞助的在新加坡举办的第一届敏捷盛会,于2013年11月7 - 8日在新加坡滨海湾金沙大酒店会议中心召开,Kent Back, Jim McCarthy, David Hussman等敏捷思想领袖出席大会并做主题演讲。