要想在不同组织之间跨越信任和猜忌的鸿沟,并让大家共同工作,合同是必要的。传统项目的“固定价格、固定范围和固定时间”合同,并没有考虑业务环境和软件开发中的不确定性。这些合同倾向于将客户和厂商置于楚河汉界的两边,而不是促成他们的协作。人们耗费大量时间和精力,讨论到底谁该为变更买单。现在在 OpenPlans 上成立了一个工作组,大家用头脑风暴的方式,试图创建可重用的敏捷合同样板。客户与厂商之间的关系,也许会因此而从对抗变为合作。
过去,Alistair Cockburn 曾根据一些人的说法,提出了十多条有关敏捷合同的策略。其中包括标准的“固定合同、固定范围“、”时间和材料“合同,还有相对更创新的形式,比如“增量式验收、增量式付款”和“无限交付、无限金额”等等。 Martin Fowler 也提到过一些项目,他们首先通过这些项目与客户建立起了信任关系,并据此为未来的项目奠定了灵活的付款方式。 Mary 和 Tom Poppendieck 曾讨论过多种不同的合同类型和潜在的好处,他们也提到了不同的客户客户和厂商类别,以及像文化、国家和软件类型这些可能影响合同的因素。
OpenPlans 上的工作组目前正在讨论一个名为“不需付款、变更免费”敏捷合同样板,这个样板非常看重客户的参与。他们希望客户能够积极加入到功能优先级排定、sprint 迭代规划、编写功能验收条件和 sprint 成果检查等工作中。合同中还包括下面这些条款:
- 早期中止(不需付款)- 客户可以在任何一个 sprint 结束时中止合同,并且只需付剩余合同金额的 20%。
- 变更免费- 客户可以在 sprint 之间添加新的功能,只要从合同中移除同样规模的功能。
合同中还谈到“工作保证”,也就是说只要双方能够就“完成”的定义达成一致,厂商愿意保证:交付的功能中有 80% 具备高质量,同时厂商也愿意承担延迟交付的风险。
合同的制订过程可以在“Agile Contracts”主页上看到。只要具备会员资格,您也可以加入自己的条款。
查看英文原文: Working Group Formed to Produce Reusable Agile Contracts
评论