敏捷史話(十一):敏捷宣言“間諜”——Steve Mellor

敏捷開發社群發表於2021-03-25

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 ,如何才能成為一個優秀的架構師,他笑而不語。但他早已歸結出一個方法——“ 永遠不要相信你最近建立的系統是唯一的,應設法尋找不同方法來解決相同型別的問題。”

 

架構師如此,程式設計師亦如此。

相關文章