写点什么

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

  • 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:362839
用户头像

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

关注

评论

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

MMAP

北洋

Andriod 7月月更

如何开发引入小程序插件

Geek_99967b

小程序插件

从 1.5 开始搭建一个微服务框架——调用链追踪 traceId

悟空聊架构

日志 链路追踪 traceId 悟空聊架构 7月月更

牛客java选择题每日打卡Day7

京与旧铺

7月月更

鱼和熊掌可以兼得!天翼云弹性裸金属一招鲜!

天翼云开发者社区

服务器 弹性扩容

不要再手动批量替换了,使用python AST模块批量替换

阿呆

Python AST 批量替换

国内低代码开发平台靠谱的都有哪些?

AIRIOT

低代码 物联网 低代码,项目开发

一文读懂简单查询代价估算

华为云开发者联盟

数据库 后端 查询引擎

XaaS 陷阱:万物皆服务(可能)并不是IT真正需要的东西

雨果

云服务 xaas DaaS 本地服务

【愚公系列】2022年7月 Go教学课程 004-Go代码注释

愚公搬代码

7月月更

如何组织一场实战攻防演练

穿过生命散发芬芳

攻防演练 7月月更

刷个算法,结果第一题就蚌埠住了~~

为自己带盐

算法 力扣 7月月更

企业数字化转型之路,从这里开始

天翼云开发者社区

数字化转型 云存储

7000+字图文并茂解带你深入理解java锁升级的每个细节

华为云开发者联盟

Java 开发 华为云

开创人工智能产业新未来!7月8日昇思生态论坛与你相约广州

科技热闻

systemd-resolved 开启 debug 日志

程序员与厨子

ubuntu 运维 DNS systemd-resolved

华为云ModelArts文本分类–外卖评论

逝缘~

深度学习 华为云 7月月更

Java方向~~0基础小白如何快速脱离0offer的苦海!

KEY.L

7月月更

Ubuntu 20.04 安装 Chisel

贾献华

7月月更

使用 RepositoryProvider简化父子组件的传值

岛上码农

flutter ios 安卓 移动端开发 7月月更

场景化面试:关于分布式锁的十问十答

面试官问

分布式锁

Spring你牛个啥,我承认刚才说话我声音有点大

zxhtom

7月月更

分布式算法入门之 Paxos 算法

宇宙之一粟

Basic paxos 7月月更

一朵云开启智慧交通新未来

天翼云开发者社区

区块链 大数据 物联网

中文版Postman?功能真心强大!

Liam

Java 开发者工具 Postman 后端开发 程序员进阶

集合处理的利器

技术小生

java8 7月月更

微服务链路风险分析

阿泽🧸

7月月更 链路风险分析

AI金榜题名时,MLPerf榜单的份量究竟有多重?

脑极体

【刷题记录】1. 两数之和

WangNing

7月月更

让开发效率飞速提升的跨端方案

Geek_99967b

小程序 跨端 小程序容器

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