限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

供敏捷软件开发使用的合同

  • 2009-05-10
  • 本文字数:1550 字

    阅读完需:约 5 分钟

虽然《敏捷宣言》中说“客户协作重于合同谈判“,合同仍然是很多开发人员和公司要面临的现实。Peter Stevens 分析了 10 种不同类型的开发合同,并解释了每种类型对于敏捷项目的适合程度。他发现:相比固定价格合同与按时间和材料制定的合同来说,有一些合同似乎更适合敏捷项目。

正文

虽然 《敏捷宣言》 说“客户协作重于合同谈判”,合同仍然是很多开发人员和公司要面临的现实。 Peter Stevens 前不久分析了 10 种不同类型的开发合同,并分析了每种类型对于敏捷项目的适合程度。他发现:相比固定价格合同与按时间和材料制定的合同来说,有一些合同似乎更适合敏捷项目。

Peter 检查了这 10 种合同类型,针对每一种合同类型,描述了以下方面:

  • 合同的通用结构
  • 如何应对范围变化
  • 风险如何分散
  • 在客户与开发者之间培育起了什么样的关系

最基本的开发合同是按时间和材料制定的合同(time-and-materials)。 这将大部分的财务风险转嫁在了客户一边。开发人员没有动力去早点完成项目或是维持低成本式的开发。

最常用的另一种合同就是固定价格合同。这种合同很受客户欢迎,因为它将大部分风险都放在开发人员一边。如果项目时间超出预计,这种协议就对于项目范围的变化就不友好了,而且对于范围中应包含的特性酝酿着潜在的争议。

Stevens 考察了这些这些合同,其中还包括一些有趣的变种,比如固定利润方式的合同。缔约方事先就固定的利润达成一致意见,比如给付开发人员100,000 美元。不管项目用了多久完成,负责开发的公司都会得到利润外加发生的实际成本。如果项目提早完成,客户与开发人员都能受益。

Llewellyn Falco 使用了一种混合合同,并将之归功于 Bob 大叔(Richard Martin)。该合同既包括固定金额,又包括一个按小时收取的费率。开发人员会估算工作要用多久,比如 80 个小时。然后开发人员会用该时间乘以他们“通常”每小时收费的数目,比如 200 美元 1 小时;这样得到的金额会拆分成两部分:一部分是固定金额,另一部分是较低的每小时费率。比如:固定部分可能是 8000 美元,每小时的费率降低为 100 美元。如果项目按预计时间完成,那么价格就是 8000+80*100=16,000 美元。如果项目时间超出预期,开发人员就只按 100 美元一小时来收取额外的费用。该方法试图在开发人员和客户之间平分风险。

Peter Stevens 推荐使用基于阶段的开发合同与称为“ money for nothing, changes for free ”式的合同。他声称自己使用这种阶段式开发合同取得了成功,不过他也发现:

“Money for nothing, changes for free”合同将 Scrum 与 Agile 开发过程的优势转化为了竞争优势。 - 通过按增量式的方式排定并交付业务价值,彻底失败的几率就大大降低了。这种优势可以传递到客户那边。

  • 而且,这是一种合作模式,能够让双方都有动力保持成本不要升高。
  • 早期取消条款为 Scrum 团队赢得了更高的工作效率。可也有不好的一面,该条款让人觉得有点像是“黄金降落伞”【译注】,在目前的经济气候下,该条款可能在政治上难以接受。

Peter 在结尾时又回到了《敏捷宣言》,强调即使好的合同很重要,与客户保持良好的协作关系要更为重要。

您曾参与过哪种合同的制定?这些合同对于公司于客户的关系起到了什么样的作用?请在新闻后面留下评论并共享您的经验。

译注:“黄金降落伞(Golden Parachute)”是按照聘用合同中公司控制权变动条款对高层管理人员进行补偿的规定。“黄金”意指补偿丰厚,“降落伞”意指高管可规避公司控制权变动带来的冲击而实现平稳过渡。在目标公司被收购的情况下,公司高层管理人员无论是主动还是被迫离开公司,都可以得到一笔巨额安置补偿费用,金额高的会达到数千万甚至数亿美元,因此使收购方的收购成本增加,成为抵御恶意收购的一种防御措施。但其弊端是,巨额补偿有可能诱导管理层低价出售企业。

查看英文原文: Contracts for Agile Software Development

2009-05-10 08:362697
用户头像

发布了 479 篇内容, 共 172.5 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

了解 JVM 的方法调用

Ayue、

JVM 技术专题合集

「架构实战营」模块一作业

Vincent

「架构实战营」

MySQL探秘(四):InnoDB的磁盘文件及落盘机制

程序员历小冰

MySQL 文件读写 28天写作 12月日更

【Redis集群原理专题】分析一下相关的Redis集群模式下的脑裂问题!

码界西柚

redis 分布式系统脑裂 集群 脑裂 12月日更

如何在 ASP.NET Core 中重写 URL

喵叔

28天写作 12月日更

程序员写作模版献给懵逼的你

jerry

音视频学习合集

Fenngton

内容合集 签约计划第二季

浅谈Linux虚拟文件系统

lecury

Linux 文件系统 经验分享、

JVM类加载机制

Ayue、

JVM 技术专题合集

全方位认识 JVM

Ayue、

内容合集 技术专题合集

Linux内核技术分享

lecury

内容合集 签约计划第二季

纯css实现117个Loading效果(中)

德育处主任

CSS css3 大前端 纯CSS

JVM 性能诊断工具

Ayue、

JVM 技术专题合集

Arthas阿里开源的Java诊断工具

Ayue、

JVM 技术专题合集

给弟弟的信第2封|关于时间管理这件事

大菠萝

28天写作

浅谈Linux进程模型

lecury

Linux 进程 经验

面试官说:你来设计一个短链接生成系统吧

秦怀杂货店

Java 系统架构 系统 短链接

操作系统:Linux下的防火墙

程序员架构进阶

Linux 操作系统 防火墙 Firewalld 12月日更

【LeetCode】赎金信Java题解

Albert

算法 LeetCode 12月日更

域控安全之域渗透

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

25个带有酷炫动画的创意404错误页面,快给你的网站换上吧(持续更新)

海拥(haiyong.site)

大前端 28天写作 404 签约计划第二季 12月日更

自定义 View:绘制垂直正弦函数

Changing Lin

12月日更

眼耳鼻舌身意,严肃地聊一聊元宇宙的“技术拼图”

脑极体

流处理引擎Flink:编程 - 程序结构

正向成长

浅谈Linux线程模型

lecury

Linux 线程 经验分享、

浅谈Linux内存管理

lecury

Linux 内存管理 经验分享、

浅谈Linux Cgroups机制

lecury

Linux Cgroups 经验分享、

纯css实现117个Loading效果(下)

德育处主任

css3 大前端 纯CSS css特效

JVM性能调优之内存优化与GC优化实战

Ayue、

JVM jvm调优 技术专题合集

乔布斯家app下架上架杂记

张老蔫

28天写作

升级【爸爸程序员】了?用Python给自己的宝贝下载200+绘本动画吧!

梦想橡皮擦

12月日更

供敏捷软件开发使用的合同_研发效能_Chris Sims_InfoQ精选文章