敏捷史话(十四):敏捷之峰的攀登者 —— Jim Highsmith
“我们希望,一起组成的敏捷联盟能够帮助到其他同行,帮他们用新的更‘敏捷’的方式去思考软件开发、方法论和组织。做到这一点,我们就得偿所愿了。”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 提出的“敏捷”一词得到了大家的一致赞同。
这次“雪鸟会议”的成果是大家共同签署的《敏捷软件开发宣言》,并将这个宣言挂到了网站首页,同时,“敏捷联盟”由此诞生。
制定《相互依赖声明》
《敏捷宣言》发布后,许多人表示有兴趣探索将《敏捷宣言》扩展到软件之外的 项目管理和产品开发的过程。
应 Jim 的邀请,Alistair Cockburn、David Anderson 等15人,在2004年的敏捷开发大会上举行了第一次会议,探讨了该主题。之后又经过多次会议,最终在2005年2月,合作制定了《相互依赖声明 (DOI)》。
《相互依赖声明》是连接人员、项目和价值的敏捷和自适应方法。与 《敏捷宣言》的思路不同,《相互依赖声明》是专门面向管理者的宣言,目的是用来协助管理者们跨过敏捷管理的门槛,助推敏捷转型或改进。
Jim 提到,“《相互依赖声明》这个标题具有多种含义。这意味着项目团队成员是相互依存的整体的一部分,而不是一群没有联系的个体。同时,项目团队、客户及其利益相关者也是相互依存关系。”这之后,人们将在《相互依赖声明》所定义的敏捷环境中不断探索如何管理敏捷项目。
多产的作家
在内容创作上,Jim 可谓是一位多产的作家,除了前面提到的自适应软件开发,他还撰写了多本关于敏捷的书籍,这些书籍都对敏捷运动产生了巨大的影响。其中包括:《 敏捷项目管理:快速交付创新产品》《自适应领导力:加速企业敏捷性》以及《EDGE:价值驱动的数字转型》,也与 Alistair Cockburn 合作撰写的《敏捷软件开发丛书》等作品。
Jim 经常在世界各地的会议上演讲,不仅为主要行业出版物撰写了《敏捷项目管理与项目创新》《敏捷软件开发的生态系统》以及获得“震撼奖”的《弹性软件开发——一种管理复杂系统的协作模式》等数十篇文章,还是2005年“史蒂文斯国际系统开发杰出贡献奖”的获奖者。
哈佛商学院教授罗伯·奥斯汀(Rob Austin)曾这样评价他:“Jim Highsmith 是帮助我们了解知识经济中工作的新性质的少数现代作家之一。”