從南極之爭談軟件架構十個技巧,及…

http://www.csdn.net/article/2013-08-20/2816639-amazing-race-to-the-south-pole-teach-us

隨着雲計算帶來的低創業門檻、大數據潮流的盛行,越來越多的人加入了這場創業風暴。然而衆多的淘金者中,真正滿載而歸的卻是少之又少。這裏爲大家分享HighScalabilty創始人Tod Hoff結合南極穿越之爭帶來的成功軟件架構經驗,及成功團隊需具備的一些特性。以下爲譯文:

從南極之爭談軟件架構十個技巧,及成功團隊具備的氣質 

每個軟件打造的核心都存在一次漫長的探險,或許你會覺得誇張,但是在 皇家卑詩省博物館參觀 Race to End of Earth(羅威探險家 Roald Amundsen和英國海軍官員 Robert Scott於1911年-1912年完成的 穿越南極之戰)展覽時,兩支隊伍採用的不同途徑讓我備受啓發——那些同樣存在於軟件開發過程中決定成敗原則。

我希望我可以重現 參觀時的體驗。隨着參觀的進行,我不斷的對Scott的選擇產生質疑,並歎服於Amundsen的老道,其中核心直指開發的兩個極端Agile(Amundsen)與Waterfall (Scott)。

首先我們看兩個比賽的背景知識

簡而言之,率先抵達南極的隊伍獲勝。兩個領隊以完全不同的途徑去完成這一目標,方法源於他們不同的目標、經驗以及氣質。比賽的結果是Amundsen比Scott早33天抵達,同樣隊伍的狀態上Amundsen更是遠勝Scott。歸途中,Amundsen隊伍無損,而Scott小隊全軍覆沒。

更多的細節可以參考:

 

 

我們的重點則是可以運用於軟件打造中的知識:

1. 單一的目標,這點讓我感受頗深:Amundsen唯一的目標就是以最快的速度抵達目標,而Scott則要兼顧科學研究。

對於Scott來說,科學研究這個使命甚至優於資源與人員配備。而Amundsen的所有目的都是贏得比賽,還有平安歸來。

想比之下Scott的雙重目標存在很多矛盾。不錯,那時確實不乏悠久的帆船科學研究歷史(比如達爾文),然而達爾文並不是進行比賽,他們的船很大,同時科學研究只是附加目標,而環境也遠沒有南極那麼惡劣及荒無人煙。

Fred Wilson在談專注的力量時 經常引Steve Jobs爲例——“我們專注於打造一個適合所有場景電腦的生產線,然後逐漸關閉其它的生產線”。專注是類似Minimal Viable Products及 time box scheduling產品背後的原動力,Amundsen專注在比賽上,所以一切策略都以這個爲目標展開。

2. 使用簡單,已被驗證的技術。比賽中最難以接受的就是Scott的計劃選擇了一組複雜且未經驗證的運輸技術。

Amundsen的計劃是簡單的,他們選用狗拉雪橇;而在那時,狗拉雪橇的這個技術無疑是得到論證的,因此奇怪的應該是不選用狗的人。

然而在早先的旅行中Scott對狗有着非常不好的體驗,所以他並未選用這個運輸途徑。取而代之的是,Scott選用了motor-sledge,這是機動雪橇的早期版本。在那個時候,這還是個試驗中的技術,最終3架motor-sledge都在途中損壞。然而當下的問題不是討論他們爲什麼有那麼差的體驗,而土著人民卻非常善於用狗,而是缺乏對事物的詳細瞭解並往下定論。

小馬的任務是搬運補給,但是很小的蹄子讓其不能勝任工作,因爲它很容易受到潮溼和冰凍的侵害。9匹小馬在旅行開始時就失去了作用,然而馬和motor-sledge的補給只能儲存在船上。對比而言,狗無疑更適應戰場,它們可以吃南極洲捕獲的企鵝和海豹肉。

使用人力拉沉重的雪橇,本來只作爲應急,但是馬和motor-sledge的缺失讓這個方案執行了3/4的旅途。而雪橇還在不停變重,因爲沿途他們不得不收集一些岩石以作科學研究。這樣,問題就在於他們根本沒有足夠的食物以支撐整個過程。他們並不清楚,一天吃4000卡路里的他們卻需要消耗6000到10000卡路里的能量。

3. 定製、測試、重複。Amundsen的計劃很周密,不留任何漏洞。當他發現設備達不到需求時,會自己動手,他親自做了防風鏡、滑雪板、犬繩及肉乾。這種自力更生正是開發者需要具備的品質:

所有Amundsen的工具都出自自己的工坊,並經過一次又一次的提煉。Amundsen在製造工具時使用了兩個信條:第一,遠甚於批量生產的設備;第二,參與制造,可以確保設備在比賽中的表現。

4. 冷靜且無情的。捕獲焦點,必須具備認知重點的能力,只做必要的事情。

Walter Sullivan在The South Pole Fifty Years After使用另一個方式完美的闡述了這個道理:

登月通過一連串的火箭完成,而在這個過程中這些火箭被逐一拋棄;那個挪威人使用了同樣的策略,在旅途中不斷拋棄虛弱的動物,並且作爲其它動物和人的食物。

5. 靈活的。Amundsen原計劃是去北極,但是在聽說兩個美國人已經抵達北極後,果斷的將目標轉向了南極,以獲取世界第一這個獎勵。 

6. 從實際出發。Scott使用人拉雪橇不僅僅是爲了運輸,更加入了一種浪漫主義風格。Scott日記的背後甚至反射出Wagner的身影:

在我的記憶中,沒有任何與狗有關的探險可以達到這樣的高度——人們直面險阻,並用自己的雙手達到目的……無可否認的是,在這種情況下,征服纔是更高貴、更華麗的勝利。

7. 技巧讓一切都變得不同。Amundsen招募了多個經驗老道的滑雪人並組成團隊,相比,Scott的隊伍無疑都是一些門外漢,並未針對需求進行訓練。

8. 選擇正確的團隊。Scott的團隊有許多來自英國的紳士,而Amundsen則選擇了一些具有戶外經驗並有不同技能的工匠。

9. 錯誤的疊加。Scott的團隊註定無法贏得比賽,然而他們的死亡卻是由一系列的錯誤疊加引起。天氣比預期的更冷,這樣導致他們返程時在預定時間並未到達下一個補給點,補給點存放了食物、燃料及其他物資。當Scott、Wilson和Bowers三人死亡時,離下一個補給點僅11英里遠。馬、motor-sledge及一個錯誤的補給點判斷,讓下一個補給點離他們遙遙無期。悲劇的鑄成絕不因一個錯誤,而是由一系列錯誤疊加形成。

10. 後見之明。在事情開始時沒有什麼是清晰可見的,然而在結果產生時一切都已塵埃落定。Scott在開始時做了他認爲最合適的決策,而其它人也同意他的觀點。每一個項目也是如此,沒有人會愚蠢到從開始就放棄;然而通往成功的路徑總是很少,並且沿途充滿了太多的岔路。所以我們有必要去吸取一些成功的經驗,多瞭解一些最佳實踐。

憶往昔,不難發現成功的團隊總是具備一些共同的特性:規模小、良好的引導、專注、高技巧及具備豐富的經驗,同時他們還有着健壯的計劃、豐富的資源以及強大的戰場適應能力。

發佈了318 篇原創文章 · 獲贊 7 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章