敏捷史話(十六):我對《敏捷宣言》沒有半點貢獻—— Brian Marick

語言: CN / TW / HK

 雖然我是敏捷宣言的作者之一,但我實際上的貢獻只是提供了‘宣言’這個詞而已。”Brian Marick 在一次演講上說道。他說完,現場一片鬨笑。因為大家都明白,這只是他的自謙。


說起 Brian Marick,大家都知道他是《敏捷宣言》的作者之一。但很少人知道,他還是一個多面手,我們就從他的職業生涯方面說起吧。
 

Brian Marick 是個自律的人,曾就讀於伊利諾伊大學。眾所周知,伊利諾伊是美國最具影響力的公立大學之一,在全世界享有盛名。大學期間,Brian Marick 憑藉自己的努力獲得了英語文學和電腦科學的雙學位。在教育及自身性格的影響下, Brian 對自己的職業生涯做出了清晰的規劃。

 

程式設計師

 

1981年,Brian Marick 開始了大學畢業之後的第一份工作,他選擇加入 Compion Corporation。

一開始他只是做測試工作,後來沒多久就轉成開發的工作。從測試轉崗到研發,並非易事,首先對 程式碼能力要求比較高,除此之外,對個人的學習能力也有所要求。顯然,這對 Brian 來說並非難事,大學的專業學習和行業中累積的經驗為他奠定了很好的基礎。轉崗後,Brain 直接參與到了 UNIX 的網路協議模組的研發專案,在該專案中,他出色地完成了各項任務。

除此之外,他當時所在的公司還為美國政府提供服務,主要做一些安全相關的計算。這項工作的基礎上,他們成功地開發了一種設計驗證系統。而 Brian 在這個系統中主要負責編寫語言解析器,同時承擔了很多其他工作,比如規範檢查器,整理規範大量的使用者文件等。

對 Brian 而言, 做一件事情就要做到最好。在工作中,他還發現了部門中存在的一系列問題,並針對這些問題專門開發了培訓課程。這也為他之後成為培訓師埋下了種子。
 

專案經理

 

1984年,Brian 換了一份工作,他來到了古爾德計算機系統部。起初,他從事的崗位還是研發,在古爾德計算機系統部,他承擔起了部分重要的研發任務。

工作一段時間後,Brian 憑藉自己出色的工作能力被提拔為專案經理,也解鎖了他的職業生涯地圖中的一個新角色。

之前轉崗的經驗,不僅豐富了 Brian 的知識面,還擴充套件了他看待事情的角度。在擔任專案經理的過程中,他完成了很多專案,其中有一個比較難的專案讓他至今難忘。在這個專案中,他勇敢地提出自己的想法:要求在開發過程中進行聲音測試。這個建議一提,就有人提出了質疑。但他堅信自己的直覺和判斷,在他的堅持下,大家採納了他的想法。最後的結果表明,正因為有了這個聲音測試,才讓這個專案最終取得成功。


該專案的成功讓很多人對他刮目相看,Brian 順理成章地成為了 Urbana 開發中心的核心成員。後來,公司讓 Brian 去給新員工做培訓,幫助這些新員工更好地完成開發軟體中的任務。從參與這些培訓的員工表現來看,Brian 的培訓是成功的,因為這些人在接受培訓後,都很好地完成了工作,甚至有大多數人由於表現出色而得到了晉升機會。
 

測試人員

 

測試,對 Brian 有著特殊的意義。興許是第一份工作給了他很大的鼓舞,當他再一次尋找工作的時候,Brian 果斷選擇了這個崗位。1988年,Brian 從上一家公司辭職,成為摩托羅拉 MCD 公司的一名測試人員。

再一次的跨崗,對他來說也沒有那麼難了。在新的公司中,他主要的工作是構建壓力測試的工具,做一些系統壓力的測試。Brian 的工作重點主要放在了後面,早在第一份工作做了一小段時間的測試之後,他便一直在思考測試和開發這兩者的相互作用。這樣的思考讓他在實際工作中不斷地精進自己的能力,改進自己的工作。事實證明,他在整個專案中參與的那部分工作往往是整個測試程式中非常成功的一部分。

後來摩托羅拉停止了該專案,他參與到了另外一個和伊利諾伊大學聯合發起研究的專案當中。在這個新專案中,他主要研究可擴充套件的、具有成本效益的測試技術,包括支援工具的開發和實驗評估。這一段工作經歷幫助他積累了更多軟體測試的經驗和技術,最終也構成了《軟體測試的工藝》這本書籍的基礎。
 

測試顧問 

 

Brian 喜歡測試、程式設計,他也樂於將自己的經驗想法與人分享,當看到其他人將他的經驗應用到自己生活中並能夠實現一定價值的時候,Brian 就覺得他也實現了自己的價值。於是,在1992年,Brian 對自己的職業做了新的規劃,那就是成為一名測試顧問,幫助測試人員和程式設計師瞭解必備的知識,幫助管理人員瞭解員工的需求,並就流程改進和測試策略提供諮詢。

除了培訓諮詢,Brian 還成立了 Testing Foundations,開始大範圍分享他的觀點和作品。之後,他還為研究生和高階本科生開設了有關軟體測試或軟體開發實用程式的課程,這項工作一直持續到了1998年。
 

敏捷顧問

 

2001年春,Brian 收到了 Martin Fowler 的邀請,參加了雪鳥會議。作為雪鳥會議中唯一的測試人員,Brian 與其他人站在一起顯得格格不入。他也曾擔心過,外界是否會因為他的身份而質疑此次會議的權威性。這也是他自嘲什麼貢獻都沒有的原因。

雪鳥會議後,Brian 被更多人認識。在那之後,他依然專注於研究敏捷方法和敏捷測試,也發表了一些相關文章和作品。

接下來,他又陸續參加了 XP 和敏捷開發會議。2003年,Brian 發表了一系列有關敏捷測試的極具影響力的文章,其中知名的“敏捷測試的象限(Agile Testing Quadrant)”就是在同年8月份發表的。

2004年,他提出了一系列對敏捷聯盟的改進建議,同時被選為新一任敏捷聯盟董事會主席,緊接著他又提出了關於重新規劃聯盟發展方向的一些草案。 他希望可以為人們參與敏捷專案提供支援,並促使更多的敏捷專案誕生。這也是敏捷聯盟的初心。
 

迴歸程式設計師

 

如果說每個人心中都有一件自己自始至終要堅持做的事情,那 Brian 的堅持便是程式碼,他就是一個簡單的程式設計師。

2001年,也就是 Brian 開始做敏捷顧問的這段時間,他接觸到了 Ruby,並開始學習這一語言。在那之後,他就一直用 Ruby 進行程式設計。基於自己的使用情況和經驗總結,他還專門撰寫了一本 為非測試人員提供教程的書:《使用 Ruby 進行日常指令碼編寫》,這本書籍一經推出,便受到了諸多好評。

程式設計師,對 Brian 來說有很多含義。程式設計師不僅 是他個人生涯的起始點,還是在他歷經各類角色後迴歸的終點。就如他 Twitter 簡介上的介紹:程式設計師→測試人員→測試顧問→敏捷顧問→程式設計師,這便是他的個人職業路線。

Brian 在自己的職業生涯中,先後嘗試了多種不同角色,這些角色在很大程度上充實了他的人生。雖然每一階段他的身份都有變化,但每個不同角色所處的不同時期,他都可以憑藉自己的能力和經驗贏得身邊同事的認可。除了程式設計師、測試人員、測試顧問、敏捷顧問,Brian 還有一個角色——作者。Brian 前後共發表了超百篇極具影響力的文章、數十篇科學研究論文和多本專業書籍。

 如果你不能按照自己想的那樣去活,總有一天,你會按照自己活的那樣去想。”每個人的生涯規劃都是要通過學習、思考和選擇,逐漸形成一個目標,然後付諸行動。但並非所有人都可以像 Brian 一樣,對待每個角色都全身心的投入,將工作做到極致。Brian 就是這樣一個多面手,而他,現在仍在默默地通過他的程式碼和文字影響這個世界……