Posted on 2009-08-13 12:44
dennis 閱讀(1003)
評論(2) 編輯 收藏 所屬分類:
涂鴉 、
軟件工程
在這里要推薦下《觀止-微軟創(chuàng)建NT和未來的奪命狂奔》,非常精彩,講述了windows NT開發(fā)過程中的人和事。這不僅僅是故事書,也可以看做一本項目管理方面的指南,可以看看這么巨大的項目(幾百萬行代碼)所遭遇到的難題和痛楚。我更愿意將這本書當做《人月神話》的故事版,同樣是創(chuàng)建劃時代的OS,同樣是管理眾多人參與的大型的項目,也同樣遭遇了種種困擾和痛苦,從這個角度也可以看出,人類的痛苦的相通的:)
單純從軟件構建的角度去看這本書,可以說說我看到的東西,這些是我今天早上走在上班路上的時候想的,咳咳。
1、開發(fā)OS是燒錢的事情,NT開發(fā)接近5年,每年的花費據(jù)說在5000萬美刀,那可是在90年代初期,換算成現(xiàn)在更是天文數(shù)字。從另一個側面也說明了linux系統(tǒng)的偉大。開發(fā)一個這么燒錢的玩意,如果沒有管理層的強力支持,那么不是被砍掉,就是遭遇流產的命運,幸運的是NT團隊得到了蓋茨的鼎力支持,大概也只有他能這么燒錢了。Dave Culter從DEC辭職的原因也是因為管理層砍掉了他的團隊。蓋茨另一個做法是不干涉NT團隊的開發(fā)工作,他只提出目標和期望,然后就偶爾過來看看,不對不知道的東西指手畫腳,這點可不容易。
2、每日構建非常重要,NT團隊的構建實驗室一開始是每周構建,后來做到了每日構建。只有每日構建,持續(xù)集成,才能幫你掌控產品質量,及時發(fā)現(xiàn)潛在的問題。我們現(xiàn)在的項目使用了hudson,比CC容易配置一點,效果還不錯。
3、測試極其重要,專業(yè)的測試團隊對于大型項目來說尤其重要。除了測試人員之外,開發(fā)人員需要做自測,需要對自己check-in的代碼負責,如果你簽入的代碼導致構建失敗,那么Dave culter可能沖破墻壁進來,拍著桌子沖你咆哮。對check in必須做嚴格控制和跟蹤,如果在項目的最后沖擊階段,除了showstopper級別的修正代碼允許簽入之外,其他的修改都不被接受。開發(fā)者和測試人員很容易存在對立,檢討自己,我對測試人員也存在偏見和某種程度上的輕視和厭煩,如果從就事論事和都是為一個目標努力的角度來說,測試和開發(fā)并不對立,兩者是相輔相成,甚至于測試人員更為至關重要。
4、在一個長期而復雜的項目中,如何保持團隊成員的士氣也是個難事兒。軟件開發(fā)歸根到底是的因素是人,而非工具或者其他,關注人,其實就是在關注你的軟件。鼓勵士氣的常見做法就是設定里程碑,在這個里程碑上發(fā)布一個重要版本,讓大家看到希望,但是對于OS這樣的巨型項目來說,里程碑不是那么容易設定,這從書中項目的不斷延期可以看到。另外就是寬松的工作環(huán)境和假期,微軟的工作環(huán)境有目共睹,能做到每個員工獨立一個辦公室的國內企業(yè)還沒有吧。國外的開發(fā)者似乎很會玩,賽車、滑雪、空手道,其實不是我們不會玩,是我們玩不起,國內的待遇和生活壓力讓你想玩也玩不起。
可是就算是再好的物質待遇,其實也換不來美好生活,書中充斥著開發(fā)者對家庭和婚姻的困惑和痛苦,為了NT,他們也失去了很多,對工作過度投入的后果就是失去平衡的家庭生活,再次驗證上帝是公平的,有得必有失,就看你看重的是什么。
5、開發(fā)者的效率差異是驚人的,在《人月神話》里已經說明了這一點,開發(fā)者之間的效率差異可以達到驚人的10倍,在NT這樣的團隊里也再次驗證了這一結論。
6、投入越多的人力,并不能帶來效率的提升,當NTFS文件系統(tǒng)的進度拖慢的時候,微軟的經理們考慮添加人手,但是經過慎重的考慮還是沒有加人,因為文件系統(tǒng)是技術活,新人很難馬上投入開發(fā),而需要老手的帶領和培訓,引入了更多的溝通成本和培訓成本。
7、優(yōu)秀的代碼無法通過行數(shù)來衡量,軟件某種程度上還真是魔法的產物。
8、NT的一個教訓是,應該及早設定你的性能目標,并在適當時候開始關注并優(yōu)化系統(tǒng)。NT團隊后期的很大部分工作都是在優(yōu)化系統(tǒng)性能,并縮小尺寸。
9、設定Deadline常常是不靠譜的事情,對軟件開發(fā)的時間估計也常常是不靠譜的事情,這一點從NT的一次又一次的延期可以看出。延期失望的不僅僅是客戶,也會打擊你的團隊成員,遙遙無期的開發(fā)過程容易讓人崩潰。
10、NT的開發(fā)貫穿了對市場的需求的考慮,有個牛X的產品經理還是相當重要的。當然,沒有開發(fā)者喜歡添加新功能,特別是在已經完成一個新功能的情況下,以至發(fā)展到NT的開發(fā)者看到產品經理就不由得拿起球棒擊墻的地步:)
這本書花了我兩個晚上看完,還是看故事有趣呀,上面所說只是我的印象,書中還有許多八卦故事老少咸宜,如果有出入,請看原著:) 有空還得重讀下。