“……选择一个中标的承包商,期望他们在特定的时间和预算内交付需求。然而,这种传统的方式几乎总是导致失败 —— 每一次都是对纳税人金钱的巨大浪费。”
—— Jason Bloomberg,
“在退伍军人中用敏捷解决
日程安排问题”,福布斯杂志
敏捷合同
大型系统的开发者需要与客户和干系人就开发内容进行持续的同步,而他们需要在不断的变化之中进行这项工作,这些变化可能由开发中的发现,客户需求的演进,技术的更新和竞争对手的创新而驱动。
传统上,需求和设计往往需要在前期确定,以确保客户能得到他们想要的东西。这是与系统供应商签订合同的基础。但这些早期的需求和设计决策限制了团队,降低了他们适应涌现的新数据的能力,这些数据可能带来新的解决方案,从而创造更好的经济和竞争价值。简而言之,合同成为了阻碍。为了管理 风险而要求早期确定需求的尝试,往往适得其反,对所有干系人都是不利的。
为了避免这种状况,其他能够更好的共担风险与回报的合同方式应运而生。在许多情况下,他们的效果更好。尽管如此,固定需求的传统思维还是会对协议和预期产生影响。
我们需要的是更加敏捷的合同方式,一种使双方在短期和长期内都能受益的方法。这篇文章描述了现状,并为敏捷合同方式提供了指导,即“SAFe管理投资合同”。
系统采购合同的传统方式
买家通常将他们经营业务所需的复杂系统的开发,外包给具备研发能力的供应商。合同签订有一系列的方式,从固定总价合同,到工时和材料合同,以及介于它们之间几乎任何一点的方式。图1展示了这些不同的方法,并重点列出了各方分担风险的方式。
图1 一系列传统合同类型
显然,合同的签订方法非常多,然而一般来说,大多数人都明白,这两种极端的情况都不会产生最佳的整体经济价值。我们将在下面的章节展开讨论。
01. 固定总价合同
天平最左侧的是固定总价合同,在如今的行业中很常见。这种方法的方便之处是,假定了买家能够恰好得到他们想要并且愿意支付的东西,如图2所示。
图2 固定总价合同创造了“铁三角”
表面上看,这是有道理的,此外,它还提供了一个竞争性投标的机会,这在许多情况下也许是需要的。理论上说,竞争性投标潜在提供了一些经济上的好处,因为中标的可能是价格最低的供应商。
然而,这种方法也有许多弊端:
- 它假设了买方的需求远在实施之前就被充分的理解
- 买方的需求需要被体现在需求规格说明书及早期的详细设计中,这引发了大量预先设计(BDUF),瀑布式开发和瀑布式合同。
- 合同往往被最低成本的投标者获得,它们也许并不能为买方提供最佳的长期经济利益。
此外,为了得到一个固定报价,在远未得到解决方案所需的信息时,关键决策被过早的做出(参考原则3— 假设可变性,保留可选项)。各方进入了图2所示的固定范围,固定时间,固定成本的“铁三角”。而如果客观条件发生变化,买方和供应商都将受制于合同,彼时合同中定义的,当初签订时所描述的东西,可能已经是没有人想要开发或购买的产品了。剩余的大量时间都将被耗费在合同变更的谈判上,在过程中造成巨大的浪费。
最糟糕的是,一旦签订了合同,双方的经济利益就产生了对立:
- 买方的短期利益,是用最少的钱从供应商那里得到尽可能多的东西
- 相反的,对供应商而言的短期利益,则是交付满足合同条款的最少的价值,从而赚取最大的利润
最终的结果,这类合同常常导致一个我赢你输的局面,从而影响了各方的业务关系,往往对双方利益都造成损害。
02. 工时和材料合同
明显的,人们会希望向图1所示天平的右侧移动。但最右侧的工时和材料合同 —— 也许表面上看起来很敏捷 —— 也同样有着挑战。买方只能依靠信任,信任确实是珍贵品,我们在精益中也依赖于它。但需求误解,市场变化,技术条件限制,以及买方或供方的经济模式变化,都可能导致信任退居其次。
毕竟,在尽可能长的时间内持续获得报酬才是供应商的经济利益所在。这可能使得合同比实际需要的时间拖得更长。将这种方法与阶段控制流程结合,使得真正的进展在最后时刻才被揭晓,和问题一起。
同样的,在买方一侧也存在着挑战。例如,来自退伍军人事务部信息技术中心的CIO Stephen W. Warren,在一次项目复盘中接受采访时表示,根据项目经理的说法,这个项目从未陷入过危机,因为他们每年都花费全部的预算,因而能为下一年继续获得投资。在当时,衡量项目成功的标准是能否继续获得资金,而不是它是否能提供必要的功能[1]。
敏捷合同的协作方法
由于图1中的两个端点都没能提供太多的保证,那么也许中间范围是那个甜蜜点?有可能,但即使如此,来自传统合同的偏见(不管来自图1中的左边或右边)仍然会悄悄的混进这些共识和期望中。那么,我们需要的是一种不同的方法,不但信任而且会确保供应商在以正确的方式建造正确的东西。理想的情况是,它不但给买方提供了常规而客观的管理方法,同时也让供应商对他们的客户及其未来在经济上的投入充满信心。
敏捷合同具有如下的特征:
- 能在在短期和长期内为各方优化经济价值
- 随着新知识的出现,能对需求灵活响应
- 能提供完整且持续的可视性,以及与解决方案健康度相关的客观证据
- 能提供一个更谨慎的投资方法,可以与时俱进,并在实现足够价值时停止
- 能为供应商提供关于近期投入的信心,并能在投入减少或停止时及时得到通知
- 能激励所有各方在已商定的经济范围内提供最好的解决方案
SAFe管理投资合同
显然,敏捷合同的方式对买方和供方经济上都更有利,向其靠拢将使行业受益。“SAFe管理投资合同”就是这种方法的代表,下面我们来详细介绍一下。
01. 预承诺
参与任何在充满未知的情况下开发复杂系统的重大投资合同之前,一些尽职调查是必要的。此时,客户与供应商将共同工作,基于合同达成协议。这就是预承诺阶段,如图3所示。
图3 SAFe管理投资合同预承诺阶段
在预承诺阶段,客户有具体的职责,包括了解这种形式敏捷合同的基本结构和义务,定义并向潜在供应商传达更大的项目宗旨。
供应商也会做他们的初期功课。通常包括了首次的潜在可行性分析,对齐买家的实际需求和供应商的核心能力。同时也需要对初期合同阶段所需的人力和资源有所了解,并进行粗略的成本估算。
图3所示的共同责任,使得客户和供应商进行更有分寸的投资,并有持续的客观证据证明其符合需求。这些责任包括:
- 建立初始的愿景和路线图
- 明确最小化可行产品(MVP)和在此基础上其他可能的Program Increment(PI)特性
- 定义初步的固定和可变的解决方案意图
- 为PI Planning的初始Program Backlog排优先级
- 确定执行责任
- 建立经济框架,包括经济平衡参数,PI投资承诺(承诺的PI数量),初始资金水平,和其他合同条款
有些情况下,供应商需要提供一个初步的估算来保证PI的资金承诺得以完成。其他情况下,即付即用的模式可能是适用的。基于合同条款,客户将同意为早期的PI提供资金,这是初期承诺阶段。这一阶段的长度依赖于环境,但两个PI(即20周)左右是一个比较合理的起点。
根据情况,客户可能会与多个潜在供应商进行沟通。如果涉及重要的技术可行性,则可能以某种可行性合同的形式进行,以便每个供应商为达成承诺所付出的努力都能得到一定程度的补偿。也有另一种情况,这一阶段对于供应商来说属于正常的业务,预承诺阶段的投资是作为售前活动的一部分来开展。
然而,到一定阶段之后,客户可以正式签订合同。
02. 合同执行
在合同正式签订后,开发活动开始,如图4所示。
图4 SAFe管理投资合同执行阶段
活动时间线描述如下:
- PI准备 —— 供应商和客户都将投入一些精力,来进行第一个PI的内容准备和组织工作。(注意:一些情况下,可能会将第一个PI作为预承诺阶段的一部分,虽然这意味着需要双方的大量投资。)
- PI Planning —— 第一个PI Planning活动会影响整个项目。客户和供应商干系人将对第一个PI进行迭代级的规划。
- PI执行 —— 根据情况,客户在迭代执行中有不同级别的参与度。然而最低限度,在每次进行系统演示时,是需要客户直接参与的。对于大型解决方案来说,大量的系统演示可能会被一个更全面集成的解决方案演示所替代。这可能在一个PI不止发生一次。
- PI评估 —— 此后,每个PI对于客户和供应商来说都是一个关键的里程碑。在每个里程碑中,都会对解决方案进行演示和评估。对商定的指标进行收集和分析,并为下一个PI做出决策。在Inspect and Adapt (I&A) 活动中,评估解决方案进展和Program的改进。在这个时刻,客户可以决定是要增加,减少,或是维持投入的水平,甚至可以根据有没有创造足够的价值来判断是否要逐步停止投入。
用精益创业的方法管理风险
精益创业周期(如图五所示)说明了如何用合理的、精益的经济学方法来管理重大产品开发投资。
图 5. 管理重大产品开发投资的精益创业周期
这种精益创业模式能加快产品上市,还能防止整个系统因为很多用不上的功能而变得臃肿。它还可以实施如Epic和持续交付管道(Continuous Delivery Pipeline)等文章中所描述的“假设-构建-测量-学习”循环。
这意味着,敏捷合同的语言被修改,以反映固定和可变部分的组合。在预承诺阶段识别的MVP,可以作为一个更高层级定义的固定范围,在建议数量的PI中被交付。除了MVP的交付外,合同还可以明确由一个或多个PI组成的选择期的数量。目标是优化每个PI中优先排序的特性的交付。
这个过程一直持续到客户所需的价值被全部交付,在这个时间点,客户停止执行新的选择期,并按照协议开始逐步减少投入。这为客户提供了两全其美的办法:
- 比完整需求列表小得多的MVP,提供了更好的估算可预测性
- 基于经济结果,使额外增量需求所需的支出得到完全控制
显然,这样的方法为双方都提供了最好的经济利益,有助于建立稳定而长期的合作关系。
参考资料:
[1] Bloomberg, Jason. Fixing scheduling with Agile at the VA. Forbes, October 23, 2014.
[2] Jemilo, Drew. Agile Contracts: Blast Off to a Zone of Collaborative Systems Building. Agile 2015.
https://www.slideshare.net/JEMILOD/agile-contracts-by-drew-jemilo-agile2015
原文地址:
关于译者:
【Scrum中文网翻译组】
Scrum中文网是全球第一个Scrum中文网站,中国最早的Scrum和敏捷教育及推广机构,也是国际Scrum联盟(ScrumAlliance)官方授权教育机构和大规模敏捷SAFe官方机构SAI在中国的授权合作伙伴。
Scrum中文网是国内领先的敏捷培训及教练咨询机构,作为中国敏捷教练的摇篮,启蒙和培养了数万名敏捷专业人士,帮助数百家知名企业成功转型敏捷。