“我们希望,一起组成的敏捷联盟能够帮助到其他同行,帮他们用新的更‘敏捷’的方式去思考软件开发、方法论和组织。做到这一点,我们就得偿所愿了。”Jim Highsmith 在雪鸟会议结束后,发出了这样的感叹。

这位出生于1945年的软件工程师,是一位登山狂热爱好者。在 Jim 看来,无论是工作还是娱乐,所做的事情其实都是在登山。

Jim 拥有电气工程学士学位和管理硕士学位。他在工科学校毕业后的第一份工作就接触到了阿波罗载人航天计划。因此,可以说他的第一个项目是成功的,尽管当时他的工作职责微乎其微。

“自适应软件开发”倡导者

除软件工程师外,Jim 还是一位“自适应软件开发”的倡导者。他推崇着一个原则:即流程不断适应当前的工作是正常的事务状态。1999年12月,也就是在 Kent 的《极限编程》问世大约一个月之后,Jim 所著的《自适应软件开发:一种管理复杂系统的协作方法》出版了。这本书的原始标题其实是“RADical Software Development”,但 Jim 总觉得这个名字好像缺少点什么——复杂自适应系统理论,所以 Jim 用“Adaptive”代替了“RADical”。自此,自适应软件开发(ASD)发展成型。

在《自适应软件开发:一种管理复杂系统的协作方法》一书中,这本书的大部分内容是关于管理理论而不是软件开发的。也是在这本书中,登山爱好者 Jim 使用了很多爬山的类比来说明他所持有的,关于团队合作、计划和适应快速变化条件的观点。

《敏捷宣言》之旅

征服了“自适应软件开发”这一座山峰之后,Jim 又将目光投向了轻量级方法领域。

2000年春,肯特·贝克(Kent Beck)在俄勒冈州的罗格里夫酒店组织了一次“极端编程领导会议”。参会者包括 Bob 、Martin Fowler 等极限编程的支持者们,以及包括 Jim 和 Alistair Cockburn 在内的一些有助于推动 XP 革命的“边缘人士”。这次会议主要讨论的是如何创建组织来推动 XP 的推广。

这次会议中,还发生了一个小插曲。这天 Jim 和 Kent Beck 沿着河岸散步交谈,聊到“极限编程”的名字的时候,Kent 纠结用“极限”这个词会不会显得太极端,Jim 则打趣道:“那你要叫它什么呢,'适度编程'吗? ”

这次会议对 XP 的推广起到了重大作用,在 Bob 等人看来,倡导创建一个诸如 XP 之类的轻量级方法思想的组织,将使整个行业受益。Bob 坚信,不同的人都终将会推动这样一个组织的创建。但是,许多其他参会者对此并没有太高热情,或许是因为这次会议更多的是局限在 XP 上。所以,Martin Fowler 在会议休息时间找到 Bob 做了简要的讨论,二人决定将提议的组织范围扩大到所有各种“轻量级方法”(例如 Scrum 和自适应软件开发),他们认为这样不仅可以提高所有人的积极性,同时还能促使拥护这些方法的人们进行更多更全面的补充。

于是,2000年9月,Bob 用一封电子邮件吹响了下次会议的集合哨,并提出了“轻量级方法峰会“的口号,向 Jim Highsmith 在内的多名专家发出了邀请,邀请函阐明了创建宣言的目标,该宣言将描述各种轻量方法的共同点。Jim 表达了对这次会议主题的浓厚兴趣,因为除了自适应软件开发, Jim 也了解 Scrum、DSDM、功能驱动开发等其他“轻量级方法”,Jim 认为这些方法有很多相似之处,所以花几天时间讨论这些方法是非常值得的。Jim 很期待接下来会产生怎样的火花。

为了保证会议的正常进行,Jim 和 Alistair Cockburn 包揽了会议的所有外勤跑腿工作,包括安排每人的房间、用餐和娱乐活动等,准备工作进展得很快且很顺利。

会议中,大家一致提议起一个新的名字来取代“轻量级”这个概念,因为没有人喜欢“轻量级”这个词。这时,Jim 提出了“Adaptive”的建议方案,但 Mike Beedle 等人对此提出了异议,因为大家知道 Jim 是 ASD 方法的创建者,并在之前已编著了《Adaptive Software Development》一书,如果使用 Adaptive,这听起来更像是 Jim 自己的一个作品了。所以 Jim 的建议最终未被采纳。除此之外,其他人也提出了很多其他建议,如 Essential、Lean 和 Lightweight 等,经过一番讨论, Mike Beedle 提出的“敏捷”一词得到了大家的一致赞同。

这次“雪鸟会议”的成果是大家共同签署的《敏捷软件开发宣言》,并将这个宣言挂到了网站首页(http://agilemanifesto.org/),同时,“敏捷联盟”由此诞生。

制定《相互依赖声明》

《敏捷宣言》发布后,许多人表示有兴趣探索将《敏捷宣言》扩展到软件之外的 项目管理和产品开发的过程。

应 Jim 的邀请,Alistair Cockburn、David Anderson 等15人,在2004年的敏捷开发大会上举行了第一次会议,探讨了该主题。之后又经过多次会议,最终在2005年2月,合作制定了《相互依赖声明 (DOI)》。

《相互依赖声明》是连接人员、项目和价值的敏捷和自适应方法。与 《敏捷宣言》的思路不同,《相互依赖声明》是专门面向管理者的宣言,目的是用来协助管理者们跨过敏捷管理的门槛,助推敏捷转型或改进。

Jim 提到,“《相互依赖声明》这个标题具有多种含义。这意味着项目团队成员是相互依存的整体的一部分,而不是一群没有联系的个体。同时,项目团队、客户及其利益相关者也是相互依存关系。”这之后,人们将在《相互依赖声明》所定义的敏捷环境中不断探索如何管理敏捷项目。

多产的作家

在内容创作上,Jim 可谓是一位多产的作家,除了前面提到的自适应软件开发,他还撰写了多本关于敏捷的书籍,这些书籍都对敏捷运动产生了巨大的影响。其中包括:《 敏捷项目管理:快速交付创新产品》《自适应领导力:加速企业敏捷性》以及《EDGE:价值驱动的数字转型》,也与 Alistair Cockburn 合作撰写的《敏捷软件开发丛书》等作品。

Jim 经常在世界各地的会议上演讲,不仅为主要行业出版物撰写了《敏捷项目管理与项目创新》《敏捷软件开发的生态系统》以及获得“震撼奖”的《弹性软件开发——一种管理复杂系统的协作模式》等数十篇文章,还是2005年“史蒂文斯国际系统开发杰出贡献奖”的获奖者。

哈佛商学院教授罗伯·奥斯汀(Rob Austin)曾这样评价他:“Jim Highsmith 是帮助我们了解知识经济中工作的新性质的少数现代作家之一。”

敏捷史话(十四):敏捷之峰的攀登者 —— Jim Highsmith的更多相关文章

  1. 敏捷史话(四):敏捷是人的天性 —— Arie van Bennekum

    敏捷是人的天性,是你与生俱来的东西.面对敏捷,Arie van Bennekum 下了这样一个结论. 但这并不意味着人们只能通过天赋获得敏捷,对于想要学习敏捷的人来说,敏捷绝不是仅仅靠学习僵化的框架. ...

  2. 敏捷史话(十五):我发明了敏捷估算扑克牌 —— James Greening

    雪鸟会议 雪鸟会议前夕,James Grenning 在 Object Mentor 与 Robert C. Martin 一同工作,彼时组织雪鸟会议的 Bob 大叔盛情邀请 James,告知他会议的 ...

  3. 【小梅哥FPGA进阶教程】第十四章 TFT屏显示图片

    十四.TFT屏显示图片 本文由杭电网友曾凯峰贡献,特此感谢 学习了小梅哥的TFT显示屏驱动设计后,想着在此基础上通过TFT屏显示一张图片,有了这个想法就开始动工了.首先想到是利用FPGA内部ROM存储 ...

  4. 201671010447 杨露露 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 总结这学期软件工程学习获得 一 ...

  5. 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 团队名称 快活帮 作业学习目标 (1)掌握软 ...

  6. 201671030128周琳 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思 ...

  7. 201671030117 孙欢灵 实验十四 团队项目评审&课程学习总结

    项目 内容 作业所属课程 所属课程 作业要求 作业要求 课程学习目标 (1)掌握软件项目评审会流程:(2)反思总结课程学习内容 任务一:团队项目审核已完成.项目验收过程意见表已上交. 任务二:课程学习 ...

  8. 201671030108后新莉+实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 代老师博客主页 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 (1)掌握软件项目评审会流程:(2)温故知新自己的所得:(3)反思总 ...

  9. 201671030122 杨凡亿 实验十四 团队项目评审&课程学习总结

    项目 内容 课程名称 2016级计算机科学与工程学院软件工程(西北师范大学) 作业要求 实验十四 团队项目评审&课程学习总结 课程学习目标 (1)掌握软件项目评审会流程(2)反思总结课程学习内 ...

随机推荐

  1. Captain technology INC:高性能电池助力新能源车企销量暴涨

    来自七个欧洲国家的11个合作伙伴共聚一堂,投身于HyFlow研究项目,共同开发一种可兼顾高性能和能源需求的混合氧化还原液流储能系统.为此,科学家们希望将高性能钒氧化还原液流电池与超级电容器相结合. 到 ...

  2. Masterboxan INC :个股出现疯涨,投资者需警惕股市泡沫

    随着标普500指数自去年三月以来的暴涨,引发了很多亏损企业股价飙升,同时许多场外投资者盲目跟风,加剧了个股的疯涨.对于此现象,美国万事达资产管理有限公司不得不多次发文提醒投资者:个股出现疯涨,投资者需 ...

  3. ImageCombiner - Java服务端图片合成的工具包,好用!

    自己的第一个也是唯一一个开源项目,因为平时比较懒,很少做宣传,今天刚好突破160个star,发到园子里推荐给大家,算是庆祝一下,哈. 项目地址:https://gitee.com/opensource ...

  4. 04_Mysql配置文件(重要参数)

    Mysql配置文件(重要参数) mysql配置文件的内容 打开my.ini文件(ProgramData默认隐藏,需取消隐藏) 绿色文字为注解,并不会被加载执行 删除注解,只保留重要有用的

  5. Nifi组件脚本开发—ExecuteScript 使用指南(三)

    上一篇:Nifi组件脚本开发-ExecuteScript 使用指南(二) Part 3 - 高级特征 本系列的前两篇文章涵盖了 flow file 的基本操作, 如读写属性和内容, 以及使用" ...

  6. HashMap扩容后是否需要rehash?

    需要,因为要重新计算旧数组元素在新数组地址.HashMap在JDK1.8中的rehash算法(也就是扩容后重新为里面的键值对寻址的算法)进行优化.hash寻址算法是 index =(n - 1) &a ...

  7. springboot项目打包成jar包在Linux服务器默认80端口运行

    springboot项目端口设置 在application.properties文件 server.port=80 在application.yml文件 server: port: 80 然后在ide ...

  8. Leaflet 带箭头轨迹以及沿轨迹带方向的动态marker

    前面写了篇文章,mapboxgl实现带箭头轨迹线,介绍了如何基于mapboxgl实现类似高德地图导航轨迹效果. 下图是我基于leaflet实现的效果. 接下来分享一下在我基于leaflet实现该效果时 ...

  9. pytorch(11)模型创建步骤与nn.Module

    模型创建与nn.Module 网络模型创建步骤 nn.Module graph LR 模型 --> 模型创建 模型创建 --> 构建网络层 构建网络层 --> id[卷积层,池化层, ...

  10. centos安装rar

    wget https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz tar -xzvf rarlinux-x64-5.5.0.tar.gz cd rar ...