NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

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

关注

评论

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

Vuex(三)

小恺

7月日更

HPDC智能基座人才发展峰会随笔

乌龟哥哥

7月月更

后CentOS时代的操作系统漫谈

冯骐

centos 开源 openEuler 国产化 Anolis

HUAWEI nova 10系列发布 华为应用市场筑牢应用安全防火墙

最新动态

关于栈区、堆区、全局区、文字常量区、程序代码区

NewBoy

前端 移动端 iOS 知识体系 7月月更

繁华落尽、物是人非:个人站长该何去何从

石头IT视角

跨域请求

Jason199

跨域 7月月更

Java实现单例模式

lambochen

单例模式

【算法社区】训练准备和复杂度分析

小明Java问道之路

数据结构 算法 LeetCode 7月月更 算法社区

leetcode 72. Edit Distance 编辑距离(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

可观测|时序数据降采样在Prometheus实践复盘

阿里巴巴云原生

阿里云 云原生 Prometheus 可观测

Qemu Linux

贾献华

7月日更 7月月更

玩转gRPC—深入概念与原理

海风极客

gRPC 网络协议 后端开发

牛客java选择题每日打卡Day6

京与旧铺

7月月更

蓝队攻防演练中的三段作战

穿过生命散发芬芳

攻防演练 7月月更

质量体系建设之路的分分合合

声网

创业讲堂 生态专栏

服务线上治理

阿泽🧸

微服务 7月月更

【愚公系列】2022年7月 Go教学课程 003-IDE的安装和基本使用

愚公搬代码

7月月更

浅聊一下中间件

为自己带盐

中间件 7月月更 dotnetcore

认识ThreadPoolExecutor

zarmnosaj

7月月更

什么是数据治理?为何华为愿意200万年薪聘数据治理专家?

雨果

数据治理 DaaS数据即服务

OpenHarmony资源管理详解

坚果

HarmonyOS OpenHarmony 6月月更

如何用一个插件解决 Serverless 灰度发布难题?

阿里巴巴云原生

阿里云 Serverless 云原生 插件 灰度发布

能源势动:电力行业的碳中和该如何实现?

脑极体

图解网络:什么是网关负载均衡协议GLBP?

wljslmz

网络协议 7月月更 GLBP 图解网络 网关负载均衡协议

【Docker 那些事儿】容器为什么傲娇?全靠Hub撑腰

Albert Edison

7月月更

算法入门很简单:链表题套路及精选题目

宇宙之一粟

链表 7月月更

使用 BlocConsumer 同时构建响应式组件和监听状态

岛上码农

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

2022-Java后端工程师面试指南-(Java基础篇)

自然

Java’ 7月月更

TLA+ 入门教程(1):形式化方法简介

多颗糖

分布式系统 TLA+

C语言中sizeof操作符的坑

Albert Edison

c++ C语言 7月月更 sizeof

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