譯者序(1)
很多人都知道微軟公司,它依靠軟體變得非常富有。關於微軟是如何從一個只有十來個人的小公司成長起來的故事,很多人都聽過。聽了後,不少人都覺得它很幸運。那麼除了幸運之外,微軟還有什麼過人之處麼?很基本的問題,它是如何開發軟體的呢?這個問題容易回答,很多人都能講上幾句。但如果只是講講有哪些“工種”,立哪些規矩,也很乏味。要是能從頭到尾的講講一個很大的產品是怎麼從無到有開發出來的,該多有趣。
微軟的軟體產品很多,但是在其產品線中,起著中流砥柱作用的當屬作業系統,即Windows,中文稱視窗。Windows有眾多版本,但不論是Windows 2000、Windows XP、Windows Vista,還是即將問世的Windows 7,都是基於經典的Windows NT核心。NT核心從1988年開始醞釀,1989年開始編碼,歷時將近五年,於1993年7月正式釋出,即Windows NT (在本書中簡稱NT)。通常,軟體的版本號是從開始的,但NT的第一個版本就是。
NT的最初開發計劃是18個月,但實際用了快5年,是計劃的好幾倍。軟體專案延遲是常有的事,但延遲了這麼久還沒有被槍斃掉也是有些不尋常的。在行業外的人看來,編寫軟體的人,特別是所謂的高手,大多有些古怪之處。NT團隊最初只有幾個人,結束時發展到兩百多人,其中一定不乏特立獨行或者離經叛道之士。這些人聚到一起,吃頓飯都可能爭吵起來,何況要像繡花一樣合作寫軟體呢,而且是寫作業系統這樣的複雜軟體。
彈指一揮間,距NT團隊成立的日子差不多20年了。親歷過那段“美好的舊日時光(the good ole days)”的人,都早已聲名顯赫、腰纏萬貫了。請他們講一下從前的故事,不是一件容易的事。
那麼如何滿足一下好奇心,或者冠冕堂皇一些,“師夷長技”呢?幸運的是,有一本書很好的記錄了開發NT的全過程,它是用英文寫的,名字叫《Showstopper》。
“Showstopper”這個英文單詞很有趣,在觀看戲劇或者其它演出時,人們使用這個詞來形容節目格外精彩,讓人拍手叫絕,以至於被觀眾的掌聲和喝彩聲所打斷,不得不等人們安靜下來後才能繼續。在日常用語方面,它也是一個很好的詞,人們用它來形容超乎尋常的美麗和迷人……
但當這個詞被引入到計算機特別是軟體領域後,它的含義發生了根本性的變化,它代表的是最嚴重的問題。因為在軟體領域,人們經常使用臭蟲(英文為BUG)這個詞來稱呼軟體中的瑕疵或者問題,並根據嚴重程度,將臭蟲分成若干個等級,而“Showstopper”用來指最嚴重的那類臭蟲,它如此嚴重,以至於影響了產品的核心功能,不解決它產品就不能用。如果是在開發階段,Showstopper的存在會導致產品就不能釋出,其它很多工作也無法進展,整個專案不得不延期……
《Showstopper》一書以時間為主線,生動了描述了開發NT的整個過程,講述了5年中的很多精彩故事,特別是NT團隊如何解決開發中的Showstopper類問題的動人情節。開發軟體不是一件簡單的事。分析需求、定義功能、設計架構、編寫程式碼、測試整合……,每個環節都不容易做。但難度最大的,最難以控制進度的,其難度又經常被低估的,就是定位和去除臭蟲,也就是所謂的軟體除錯。如果把計算機系統中的每一個位元位看作是一個水滴,那麼今天的典型計算機系統就都是一片海洋,定位臭蟲的過程就好像是在這個海洋中撈針。而去除Showstopper型別的臭蟲,更是難上加難,因為這樣的問題往往關係著整個產品或專案的成敗,關係著很多人的事業和命運。
譯者序(2)
在介紹緊張的開發過程的同時,作者用簡煉的筆法,為我們描繪了一大批個性鮮明的人物,包括他們的學習工作經歷、性格、家庭、婚戀,以及他們面對困難和壓力時的反應。在作者的妙筆之下,幾十個人物躍然紙上。他們有些是公司的管理者,有些是專案經理,有些是團隊的技術首領、小組長,有些是普通的程式設計師、測試員、構建員和技術編輯。他們各司其職,為共同的目標努力,儘管也有爭執、摩擦、甚至衝突……
我在四年前買了這本書,放在案頭,有空的時候就拿起來讀一讀,有些內容讀了很多遍,但是每一次都有新的感受,能