Tom Arbogast,Bas Vodde和Craig Larman从他们的新书《精益和敏捷开发大型应用实战》中精选了一部分内容,发布在网上,它主要讲述了如何应对编写敏捷开发合同时遇到的一些难点。
Vodde和Larman在敏捷社区中颇有名望,他们发表过很多关于如何把敏捷和精益实践引入到大型企业或者分布式团队的文章。Arbogast则是一名合同律师,他从事信息技术行业合同相关的法务工作已有多年。
经过慎重考虑,作者并没有提供法务合同的模板范例:
审阅了初稿的律师们和本文的共同作者Tom意见一致:起草合同时,不去深入理解合同里面涉及到的特定领域(比如敏捷或者精益原则)原理,而只是简单地复制粘贴部分条款,对于律师和销售人员来说真的太危险了。
在给敏捷项目管理邮件组的通告中,Larman和Vodde说道:
本文一开始就着重讨论一个根本性的问题...合同宗旨、相关假设、像律师这些起草合同的人的行为(“为什么大家不去写敏捷合同呢?”),而不是讨论合同的具体内容(“怎么写敏捷项目的合同?”)。所以,这篇指南的目标读者是那些起草合同的律师们,我们期待着和他们分享这些内容。
该指南分成了三部分:
思考合同(律师们对于敏捷开发应该了解些什么)
敏捷合同的常见主题(责任、付款时间、定价…)
合同类型(固定价格固定范围合同,可变价格可变范围的进行性合同,价格封顶但范围可变合同…)
作者对于文中提出的观点都配有具体的建议,也提出了一些如何和律师交流软件项目特性以及合同编写方式方面的建议。这些建议通过案例分析的形式具体生动地展示给读者:
比如:“尝试…通过和法律工作的类比来增强律师对软件项目复杂度的敏感度”:
“我想要一份完整的项目合同,我的新项目是:一个全新的企业级财务管理系统,它可能需要分布在6个国家的200多个开发人员参与开发,涉及4家从来没有合作过的外包服务提供商。这个项目要在2到4年内完成。精确到小时,你需要多少时间来和所有4家供应商谈判和撰写合同文本?精确到字数,合同里面会有多少字?精确的成本又是多少?”
将该情景和软件开发一起讨论,在处理不确定性、探索性工作以及可变性的时候,对比有效的和无效的、现实和不现实的各种方式。