Steve Mellor 是敏捷宣言的签署人之一,他自称是作为“ 间谍”去参加雪鸟会议的。

起初收到会议邀请时,Steve 非常惊讶,因为他所做的工作一直都是关于建模方面的,很少将深受敏捷实践者喜爱的编码和测试作为重点。确实,我们很少会看到“敏捷”和“建模”同时出现, 接下来我们就来了解 Steve Mellor 与它们的故事吧。

Steve Mellor 与“敏捷”

在收到会议邀请前,Steve 刚读过 Kent Beck 的《极限编程》,书中所说的: 不重视前期思考、 憎恶模型、 反对文档……这些理论着实吓到了他,不过也激发了他的好奇心。

冬日里,闲在落基山脉无事可做,Steve 决定去参加雪鸟会议一探究竟。

会议上,Steve 坦言,他原本想邪恶地来阻挠雪鸟会议的计划,但是在会议的过程中,他却发现自己对大家所提出的绝大多数观点都十分赞同。比如,对“前期大规模设计”的过度强调是存在的。就这样,Steve 成为了一名敏捷的支持者,只不过他关注的仍然是建模的价值,尤其是自己十多年来专注于构建的可执行模型。

Steve Mellor 与“建模”

就在雪鸟会议之前,Steve 几乎与所有的宣言签署者有过一段对话,有时对话不只一次。对话如下所示:

Steve 与其他人意见相左,是因为他们在“模型”这个词的含义上各持己见。一些签署人把模型视为草图,用完即扔;更让人愤怒的是把模型视作蓝图,画完后直接扔给隔壁言听计从的开发人员。这些做法 Steve 都不认可,他认为模型是可以运行的。

雪鸟会议中谈论到模型时,Steve 不断听到,没法用统一建模语言写“Hello World”程序的说法。事实上,这是可以做到的,只是不容易做到。因为早在雪鸟会议之前,Steve 及其团队成员就已经在运用自己的动作语言运行模型了。此时他意识到,当下亟需解决的问题是, 建模要被广泛认为是可执行的。

不相关的两个事物融合,往往会发生奇妙的化学反应。后来,Steve 这样描述“敏捷”和“建模”:“敏捷”和“建模”虽然很少出现在同一个句子中,但它们一点也不冲突。恰恰相反, 建模者能从实施敏捷的人身上学到许多,例如尽早为模型构建测试;遵循敏 捷过程的人,也能受益于提高生产率和轻松地跟客户沟通。无疑,所有人都能从中获益。

其实,Steve 对建模的执着追求,早在几十年前就有了苗头。

Steve Mellor 与他的追求

1974年,Steve 在埃塞克斯大学拿到了首批计算机科学学士学位,而后在世界上最大的粒子物理学实验室,也是万维网的发源地——CERN 总部,开始了他的职业生涯。在 CERN 中,Steve 主要负责加速器控制系统,用以支持 CERN 出售在不同国家或地区的系统。

如果说这是一个计算机工作者梦寐以求的事业,那 Steve 还有第二个、第三个……

1977年,Steve 加入了美国最杰出的国家实验室之一——伯克利实验室,为多个项目提供了系统支持软件。不到两年的时间,比团队中任何成员都年轻的他成为了一名出色的小组负责人,领导团队为多个项目开发控制系统。

此时大量的实操项目对 Steve 来说只是不断的重复,他认为建模在未来的可能性远远大于当下,而眼下, 是要让更多人知道建模的价值。

1982年,Steve 全职加入由程序设计方法学的开拓者之一—— Edward Yourdon 创办的咨询公司 Yourdon Inc.。在那里,他与 Paul Ward 合作,重新开发IT课程。于是,Ward-Mellor 方法问世了,发表在他极具开创性的三部曲《实时系统的结构化开发》中。Steve 向多家公司提供了咨询服务,这也令他重新找到了事业方向。

1985年,Steve 与 Sally Shlaer 共同创立了 Project Technology Inc.,目标是提供咨询服务。几年间,他们不断开设课程,以期将技术更快地传达给客户。也就是在这个时期,他们开发出了Shlaer-Mellor方法:被认为是最早的面向对象分析设计方法学。并于1998年出版了第一本有关该主题的书——《面向对象的分析:在数据中建模世界》,随后又相继出版了《对象生命周期:建模世界》以及有关模型驱动开发的特刊,还创建了第一个模型编译器。

从顾问委员会主席、澳大利亚国立大学兼职教授、首席科学家到程序主席……种种身份都是Steve 在建模领域走出的一步步踏实而坚定的脚步。

曾有人问过 Steve ,如何才能成为一个优秀的架构师,他笑而不语。但他早已归结出一个方法——“ 永远不要相信你最近创建的系统是唯一的,应设法寻找不同方法来解决相同类型的问题。”

架构师如此,程序员亦如此。

敏捷史话(十一):敏捷宣言“间谍”——Steve Mellor的更多相关文章

  1. 敏捷史话(一):用一半的时间做两倍的事——Scrum之父Jeff Sutherland

    普通的人生大抵相似,传奇的人生各有各的传奇.Jeff就是这样的传奇人物,年近80的他从来没有"廉颇老矣尚能饭否"的英雄迟暮,不久前还精神矍铄地与好几百名中国学生进行线上交流,积极回 ...

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

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

  3. 敏捷史话(五):敏捷已逝 —— Dave Thomas

    " 敏捷已逝,但敏捷精神长存.因为所谓的敏捷专家卖给你的是方法论,而不是价值."当多数人都在从"敏捷"身上榨取利益时, Dave Thomas 成为了一位逆行者 ...

  4. 敏捷史话(十二):你现在接触的敏捷也许是“黑暗敏捷”——Ron Jeffries

    他很少提起往事,也不再提及二十年前那场引起软件行业变革的会议,他专注于当下,一直活跃在敏捷领域.八十多岁的他依然运营维护着网站和博客,是极限编程网站 XProgramming.com 的作者,该网站是 ...

  5. 敏捷开发 and 敏捷测试

    名词解释 agile: 敏捷的:灵活:敏捷开发. scrum: 扭打,混打:并列争球:参加并列争球. sprint:  冲刺,全速跑. backlog: 积压的工作:积压待办的事务. retrospe ...

  6. 【敏捷0】敏捷项目管理-为什么从敏捷开始?为什么从PMI-ACP开始?

    作为敏捷项目管理的开篇文章,还是先来简单地说一说为什么先从敏捷开始,为什么是以 PMI-ACP 为参考.当然,这一系列的文章可能不可避免地会为 PMI-ACP 做一些广告,但是我想告诉大家的是,敏捷以 ...

  7. CODING 助力江苏高速信息实现组织敏捷与研发敏捷,领跑智慧交通新基建

    疫情之下的高速公路管控重任 江苏高速公路信息工程有限公司(以下简称:江苏高速信息)成立于 2002 年,是江苏交通控股旗下,专业从事高速公路领域机电系统集成.智能交通软硬件研发.大数据分析运营的高新技 ...

  8. 敏捷史话(二):Scrum社区的悲剧性损失——Mike Beedle

    2018年3月23日,在美国的芝加哥发生了一起意外刺杀事件.一名男子刺杀了一位首席执行官,而这位不幸的首席执行官就是<敏捷宣言>的合著者--Mike Beedle.Mike 的这场意外令 ...

  9. 敏捷史话(三):笃定前行的勇者——Ken Schwaber

    很多人之所以平凡,并不在于能力的缺失,而是因为缺乏迈出一步的勇气.只有少部分的人可以带着勇气和坚持,走向不凡.Ken Schwaber 就是这样的人,他带着他的勇气和坚持在敏捷的道路上不断前行,以实现 ...

随机推荐

  1. 5G & 音频,视频

    5G & 音频,视频 直播,webtrtc 音频,视频 基础知识 基本概念.播放流程.封装格式.编解码.传输协议 音视频播放流程 主要流程:采集 -> 前处理 -> 编码 -> ...

  2. taro & Block

    taro & Block https://nervjs.github.io/taro/docs/children.html#注意事项-1 import Taro, { Component, E ...

  3. macOS & Nginx

    macOS & Nginx ngnix # 使用 brew 安装(如果没有 brew 命令,需要自行安装 brew) $ brew install nginx $ nginx -h # 查看 ...

  4. macOS & wifi & ip

    macOS & wifi & ip mac show wifi ip # wireless ipconfig getifaddr en1 # ethernet ipconfig get ...

  5. js 如何取消promise

    1: 使用reject function hello() { let _res, _rej: any; const promise = new Promise((res, rej) => { _ ...

  6. NGK英国路演圆满结束,未来科技布局看好NGK公链技术

    近日,NGK全球路演英国站在首都伦敦圆满结束.区块链业内专家.各投行精英.各市场节点代表.八大产业代表参加了此次路演.同时,英国经济学人.每日邮报.金融时报等近百家财经媒体对此路演进行了大力报道.并且 ...

  7. NGK数字钱包的特点是什么?NGK钱包的优点和缺点是什么?

    说起区块链数字资产,那就离不开谈到数字钱包.数字钱包不仅有资产管理的功能,还可以进行资产理财.资产交易,甚至能为公链DAPP导流. 对于NGK公链而言,其数字钱包已然成为了解NGK公链的基础条件.NG ...

  8. Python算法_排序数组(09)

    给你一个整数数组 nums,请你将该数组升序排列. 示例 1: 输入:nums = [5,2,3,1]输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0]输出:[0,0 ...

  9. SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法

    本文转载自SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法 导语 作为一名安全爱好者,我一向很喜欢SSL(目前是TLS)的运作原理.理解这个复杂协议的基本原理花了我好几天的时间,但只要 ...

  10. python使用requests模块下载文件并获取进度提示

    一.概述 使用python3写了一个获取某网站文件的小脚本,使用了requests模块的get方法得到内容,然后通过文件读写的方式保存到硬盘同时需要实现下载进度的显示 二.代码实现 安装模块 pip3 ...