引子
===============
大概是因為列在博文的作譯者清單裡的緣故罷,我常常能在第一時間得到有關新書的消息。這本《移山之道》的消息在《大道至簡》出版前我就知道了。當時也是心中忐忑,因為同樣是一本言“道”的書,同樣以愚公移山為背景,同樣講軟件工程……鄒欣先生在博客中說這“車”撞得他眼冒金星,其實我又何嘗不是如此?哈哈~於是當時便想著:等《移山之道》出版了一定得好好看看,是不是好書不論,評論的心態要先調整好。。。。
還沒想好怎麼個調整法子,書就到了手上;還沒看到第一頁,書就被同事搶去了。有些事往往如此,來也沒個准備,去也沒個准備。不過這被同事搶走的事實,讓我知道:無論如何,這一定是一本受歡迎的書。
一、VSTS之源:MSF
===============
一本書,最怕寫到糊裡糊塗,自己說不明白別人也讀不懂。我寫書,所以便常常這樣提醒自己。今天讀到鄒欣先生的《移山之道》,第一篇便說到這樣一句話:
---------------
問渠哪得清如許,為有源頭活水來。
---------------
書的開篇便解了我久久以來的疑惑:如何把一本書寫清楚。這句話摘自朱熹的《觀書有感》,所以說的是讀書者如何“看書的‘清如許’”。同樣一句話,簡略下來就是“有源則清”。
書名“移山之道”並不是哲學的“道”,簡言之就是“法子”。所以本書原本就是在講“移山的法子”。作者將軟件工程(的具體實施)寓作移山之艱,在這萬千艱難中,作者給了的“法子”是兩個東西:MSF和VSTS。前者,是思想理念,後者則是方法工具。
注1:我向來不直接討論一個方法、思想的好或壞,因為這種討論總是宥於某種具體的背景或范圍的。所以我這裡也不對MSF和VSTS直言好惡,我們這裡只說書。
說實話,在讀鄒先生這本書之前,我與書中的“果凍”一樣,面對MSDN上的“官方繞口令”大感困擾。基本上來講,我除了知道“MSF/MSA是微軟的工程理論”之外,沒有從那些繞口令中得到任何有價值的信息。而這樣的知識到了《移山之道》裡,變成了“白話MSF”。一句話:就是微軟推薦的做軟件的方法。
再簡而言之:一種方法。如同敏捷方法一樣,MSF方法也有幾個“基本原則”——好象從敏捷之後,工程理論都是先談“原則”的。《移山之道》一書除了講述這些原則之外,也講述了他們在VSTS中的映射——一些具體的功能。
這大概就是前8章的內容了。其中前4章是我推薦閱讀的部分。
二、移山之道,源出務實
===============
第二個該讀的部分,則是12章之後的內容。這本書構建了一個虛擬的項目,並且圍繞一個完整的項目過程“導演”了一出實戰的大戲。我們可以清晰地看到每一個工程角色在這個戲目中的表演、心態,甚至神情(因為有很漂亮的插圖)。
我們常讀到一些講工程實施的書籍,大概都是講某種工程方法、工具或過程理論的條條框框或者(界面)操作指南。讀者看完,大抵是既不見得能懂,也不見得會用的。凡是這些,都必須要放在具體的工程環境中,讀者才會發現問題。而一發現問題,讀者要麼畏難而棄,要麼以大無畏的精神一通亂撞。工程中不能活用的,大概都是這樣的狀況了。而《移山之道》則是切切實實的講工程場景的,講具體場景下的應用方法的。
歡迎光臨學網,收藏本篇文章 [1] [2] $False$
所以,你會看到類似這樣的語句:
---------------
同學:對!我們要用全(敏捷開發模式的)5個工作項類型。
……
阿超:當敏捷模式變成強迫,那還能敏捷到哪兒去呢?
---------------
又或者一些應時應事的實戰法門:
---------------
……
同學:你說得在理,但是老師讓我們用全套敏捷模式,我們怎麼辦?
阿超:你們可以回去告訴老師說這是最新的“移山精簡開發模式”,填補了國內外空白,(大牛、超人和理論家們都一致說——這是我加的^.^)很好用。
---------------
這樣的段落看了是非常過瘾的。如果遇到這種連具體工程是什麼都不知道,就要求“用全套XX方法、XX模式、XX過程”的那些工程角色時,這常常是可以派上用場的。
三、怎麼讀這本書
===============
這本書的內容可以分成好幾個部分:
1、VSTS與MSF基礎
2、團隊角色的基礎素質
3、工程實戰的細節與處理方法
4、阿超的故事
5、用好VSTS
一般的讀者,大概可以把本書當成VSTS的快速指南,所以可以用它來學學VSTS以及MSF。畢竟如宣傳所言這是“第一本由微軟VSTS一線開發人員所寫的原創精品”。同樣的道理,對於一個工程團隊來說,也不妨用這本書作為團隊成員的一般性讀物。另外,如果你的團隊的“個人技術和協作精神及技巧”尚有待啟蒙(在我看來許多人有此需求),不妨看看本書的第二篇(9~11章)的內容。
但如果這樣讀這本書,大概是暴殄天物。因為這些大概是1、2、5三個部分的內容,只是書中所述的末節,遠非精要。
我讀這本書,看完前四章,全書的思想基礎與行事原則就已經了解了。接下來,我大概都是在看書中以阿超、大牛、果凍等虛擬角色之間的對話,我稱之為“阿超的故事”。在我看來,“工程實戰的細節與(具體的)處理方法”,只不過是阿超的思想的一種表達罷了。所以上述3、4兩部分綜合起來,才是全書的精華。而這些精華,作者用楷體小字藏在一段段對話、一篇篇文言,以及一個個籍阿超的身份而作出的工程決策之中。
這些一般讀者快速掠過的東西,我看得反倒細致些,啟我思想的也反倒多一些。同樣,也希望讀者能放下學以致用的急切心態,好好讀讀阿超的故事。
總的來說,讀這本書,可飲水,可思源。飲水者略知其用。思源者,才能從作者對VSTS的講述中思及MSF的價值,或從案例中看到作者務實求用的思想。
願讀者作思源者。相信作者以《移山之道》為書名,也有這樣的深意。若此一來,“道”不必僅作“方法”去解釋了。