写点什么

博弈论和敏捷软件开发

  • 2010-12-11
  • 本文字数:1369 字

    阅读完需:约 4 分钟

博弈论最初起源于经济学,用来分析企业、市场、消费者等的行为。从那之后,其范围和运用已经扩展到了多个领域,如政治学、社会学、心理学和敏捷软件开发。

Alistair Cockburn 最先把软件开发与博弈论中的合作博弈【译注:cooperative game,也称为正和博弈】进行比较。他把软件开发形容为充满创新与沟通的合作博弈。按照 Alistair 的说法,每一个项目都是一个博弈游戏,是一个更大的企业战略层面的博弈的一部分。

Victor Palau 补充道,博弈理论在协作式软件开发中的应用变得越发明显,那种协作是建立在信任的基础之上。他将这种协作与经典的囚犯困境进行比较。囚徒困境解释了为什么即使合作符合两个人的最佳利益,他们也可能不会选择合作。Victor 认为他对于如何成功协作的观点契合了敏捷原则。按照 Victor 的说法,

  • 尽可能频繁地迭代化博弈游戏:确保合作不是基于一锤子买卖。最简单的方法分别是多次交付的综合计划和“大爆炸”的方法【译注:大规模的、从根本上改变的做法】。
  • 提高利益分配:囚徒困境源自于叛变的报酬远远大于合作这个事实。你可以通过提高相互合作的收益,使之对于双方更具有吸引力,来改变这个情景。(例如,当处于“如果没人坦白,那么你们两人都会被释放”这个情景时,困境就不复存在了)

Mike Griffiths 提到了博弈理论在 PMO 工作中的应用。Mike 提出,由于项目是一个合作博弈的过程,团队成员需要协作才能成功。PMO 应该在这个团队的博弈过程里面扮演辅助的角色。从这个角度来看,PMO 的职责变得更加清晰、更加有用。Mike 指出,PMO 的职责包括,

  • 监视和控制项目进度——跟踪博弈的进度、我们是否获胜、我们仍有多少时间、博弈的各个参与者是否遇到问题?
  • 制定和实施标准的方法、流程和工具——辅助博弈游戏、建立和维护设施、提供设备。
  • 提升项目个人的技能,包括培训和指导——培训和教导球员,确定未来的领袖。
  • 多项目管理,包括计划和组合管理、项目之间的协调和资源配置——管理团队、竞争和联盟,以确保一切都保持协调。
  • 战略管理,包括参与战略规划和收益管理——博弈游戏的发展、游戏玩法的新规则、联盟的发展。

Simon Bennett 提到了博弈论在敏捷合同中的应用。Simon 演示了传统的软件开发合同如何不再适合敏捷的项目。Simon 指出虽然合同契约可能产生最佳的结果,但在大部分情况下都会导致最坏的情况,而这正好与囚徒困境一致。

Jurgen Appelo 指出博弈论暗示了永远不存在最优的软件开发方式。按照 Jurgen 的说法,

进化稳定策略(ESS)是一些实践的集合,这些实践使得系统在特定的环境下能够获得成功和生存。ESS 是博弈论中定义的一个概念,但它同样也适用于经济学、生物学、心理学和软件开发。进化稳定策略依赖于它们的环境,以及其他任何处于同一环境下的 ESS。
除了 _ 适应性 _ 可能是个例外,其他的单一属性没有一个是每一个 ESS 都所必需的。博弈论告诉我们,在特定环境下,不可能存在一个对于所有参与者都是最优的战略

正如各种敏捷专家建议,博弈论与敏捷团队的工作方式有着密切的关联。在软件开发的游戏中取得成功结果的关键,就在于与个人奖励相比,最大化团队的目标。根据 Martin Proulx,

正如敏捷宣言的定义——“客户合作胜过合同谈判”几乎总会比最大化个人奖励产生更佳的结果。不幸的是,我们的非理性(有时是贪婪)天性不容许达到最大化的结果。

查看英文原文 Game Theory and Agile Software Development

2010-12-11 03:251998
用户头像

发布了 76 篇内容, 共 23.8 次阅读, 收获喜欢 3 次。

关注

评论

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

训练营第一周作业 2

仲夏

第1周 架构方法 浮皮潦草之总结

Pyr0man1ac

我们需要软件工艺

Bruce Talk

敏捷 随笔 Agile

极客大学--架构师训练营1期-第一周总结(vaik)

行之

项目滞后,如何让自己的技术快速成长

郎哲158

个人成长 舒适区 熟练工

用简单而又专业的角度为大家揭秘区块链和比特币

CECBC

比特币 区块链 数字货币

中国法定数字货币发展新机遇

CECBC

数字货币 数字经济

架构师训练营第 1 期 - 作业提交

Todd-Lee

极客大学架构师训练营

第一周作业一:食堂就餐卡系统设计

登顶计划

极客大学架构师训练营

架构师训练营第一周作业 (就餐卡UML图)

springH₂O

架构师训练营第一周

子青

电商管理系统之交易子系统设计(一)

长沙造纸农

系统设计 产品经理 系统架构 订单管理 电商平台

LeetCode题解:94. 二叉树的中序遍历,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

Spring Cloud 微服务实践 (3) - 服务间的调用

xiaoboey

Spring Cloud 熔断 服务调用 Feign

Nacos如何实现服务自动注册

编号94530

spring nacos 源码阅读 spring cloud alibaba

「架构师训练营第 1 期」-食堂卡管理系统

睡不着摇一摇

极客大学架构师训练营

架构师训练营第 1 期-第一周周总结

郑凯元

极客大学架构师训练营

架构师训练营第一期第一周命题作业

朱磊

极客大学架构师训练营

食堂就餐卡系统设计

……

区块链将掀开人类的伟大时代

CECBC

区块链 智能合约 价值物联网

训练营第一周作业1

仲夏

第一周命题作业

崔方剑

极客大学架构师训练营

架构方法--课后练习

Nick~毓

架构师训练营第一周作业

木头发芽

RxSwift和RxCocoa入门

teoking

ios swift

week1-UML图

张兵

极客大学架构师训练营

极客时间架构师培训1期-第1周总结

Kaven

go runtime debug 小技巧

Gopher指北

debug 后端 runtime Go 语言

架构师训练营大作业二

Hanson

极客时间架构师培训1期-第1周作业

Kaven

架构师训练营第一期第一周学习总结

朱磊

极客大学架构师训练营

博弈论和敏捷软件开发_研发效能_Vikas Hazrati_InfoQ精选文章