阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

博弈论和敏捷软件开发

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

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

关注

评论

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

从定义到AST及其遍历方式,一文带你搞懂Antlr4

华为云开发者联盟

Java AST 语言 antlr4 语法分析器

开发的必杀技:Git 的分支管理

华为云开发者联盟

git Linux 分支

八大案例带你了解图数据库如何洞察数据间关联价值

NebulaGraph

图数据库 图数据库实战

我用PHP写的第一个Hello world

熊斌

28天写作

面试官常问的垃圾回收器,这次全搞懂

Silently9527

Java JVM 垃圾回收 GC

智能building 之智慧城市

张老蔫

28天写作

信任是一种需要牺牲效率持续发出的信号

Justin

心理学 信任 市场营销 28天写作

产品经理训练营第二章作业——利益相关者

阿波

【总结】产品经理训练营 | 02 产品思维和产品意识(上、中)

阿席达卡。

Kubernetes Pod篇:带你轻松玩转Pod

xcbeyond

Kubernetes pod 28天写作 Kubernetes从入门到精通 服务编排

第 2 周作业

老元宵

红帽架构师:为什么KubeEdge是2020年我最喜欢的开源项目?

华为云原生团队

开源 云原生 边缘计算 边缘技术

甲方日常 90

句子

工作 随笔杂谈 日常

计算机网络学习第一课

落曦

屏幕共享功能的应用

anyRTC开发者

android 音视频 WebRTC 在线教育 视频会议

趋势预测:2021年五大流行的编程语言

禅道项目管理

Java php python 爬虫 趋势

第二周作业

Geek_6a8931

《Java 面经手册》PDF,全书5章29节,417页11.5万字,完稿&发版!

小傅哥

Java 面试 小傅哥 PDF 面经手册

利益相关方分析-公司及团队维度

梁媛

产品经理

智能汽车如何赚钱? (28天写作 Day19/28)

mtfelix

商业模式 28天写作 智能汽车 软件定义汽车

30+岁、没转管理、加不动班,我的竞争力从哪里来?

博文视点Broadview

架构师训练营-大作业:物流系统架构设计

晴空万里

架构师训练营第2期

【年度重磅】2020华为云社区年度技术精选合集,700页+免费下载!

华为云开发者联盟

数据库 AI 云原生 物联网 华为云

Android Styling System

Changing Lin

android

数据库覆盖式数据导入方法:部分和完全

华为云开发者联盟

数据库 sql 数据 DWS 覆盖式导入

并发条件队列之Condition 精讲

伯阳

AQS 多线程 lock Condition 条件队列

你以为阿里真的取消周报了?

Ian哥

28天写作

GO 进阶学习笔记

zach

微服务 Go 语言

keepalived 实现Nginx高可用安装

庞小辉

娄底携手浪潮,打造了智慧城市建设的“娄底样板”

浪潮云

【图文并茂,点赞收藏哦!】重学巩固你的Vuejs知识体系

我是哪吒

程序员 面试 Vue 大前端 Web

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