微軟產品開發中的「戰爭與和平」

2021-09-08 23:13:35 字數 2692 閱讀 7993

衝突是微軟開發工作時的常態,每個微軟新產品的孕育過程概莫能外地充斥著質疑、抗爭、苦悶、忐忑……理念的交擊、智慧型的衝撞讓軟體開發的各個階段都瀰漫著硝煙,直至產品發布,然後又要邁入下乙個迴圈。對於微軟工程師們來說,這樣的經歷就彷彿是一次次痛苦但不乏驚喜的涅槃。

這篇部落格記錄了微軟windows server 2008 r2*中國團隊的一些真實經歷與感悟,例如「暗藏殺機」的季度性產品評審會議;微軟工程師如何「向使用者學習」;軟體開發過程中只有對錯、沒有「權威」……

*windows server 2008 r2是與windows 7同步研發、同時面世的微軟新一代伺服器作業系統。

windows server 2008 r2今天在北京正式發布,由我們負責開發的active directory administrative center(活動目錄管理中心,以下簡稱「adac」)也將真正開始接受it管理員們的檢驗。

為迎接這一天,我們準備了非同尋常的一年半。有過重重壓力,有過混亂無序,甚至懷疑過這是否是「不可能完成的任務」。而當windows server 2008 r2預發布版本問市後,美國權威it技術資訊雜誌《windows it po》在一篇新功能點評文章中,將adac評價為

最受關注新功能第一名

,這讓我們高興了好一陣子——我們收穫的不僅僅是一件令團隊成員自豪的產品,更重要的是,我們證明了中國研發團隊的能力。

在我們在踏上新的征程之時,謹以三個幕後故事來記錄我們的努力和過往那些「硝煙瀰漫」的日子。

測試主管jun的故事:從虛無縹緲到事實

windows server 2008 r2即將發布第乙個測試版時,jun正在美國參加乙個季度性產品評審會議。當時,他的測試團隊因為對adac採取了與美國不一樣的測試策略,在產品開發前期更激進地尋找bug,最後挖出了538個,「榮登」活動目錄整個產品線所有新舊產品bug數榜首,並幾乎與「活動目錄」其他產品的總bug量相當——作為團隊代表,如果jun無法讓管理層信服,整個中國開發團隊能夠在windows server 2008 r2發布前解決這些問題,那麼這個專案很可能會被砍掉,這意味著十多位工程師一年多的努力將化為泡影。

當jun不厭其煩地闡述、分析,並反覆強調adac一定能夠和windows server 2008 r2一起發布的時候,「活動目錄」產品線的總經理,一位白鬍子老者(真的很像聖誕老人)笑眯眯地轉過頭說:「你知道在英語中我如何來描述你的結論(可以和windows server 2008 r2 一起發布)嗎?我比較喜歡這個單詞:illusion (虛無縹緲)」。

那一刻,雖然jun嘴上依然掛著笑容,但是陣陣冷汗已在後背泛起… …在強迫自己冷靜之後,jun回答道:「我們看到的不只是靜態的資料,還是乙個發展的趨勢,基於bug數量遞減的速度和趨勢,我依然有信心,我們能夠完成這一產品。」

不知道是被中國團隊的執著所打動,還是真的相信了jun的「趨勢論」,總之「聖誕老人」在會後並未將這個專案從windows server 2008 r2裡砍去。但他設定了乙個非常嚴格的時間表,要求中國團隊在相應時間內將bug數量降低到可控的範圍之內。像很多故事一樣,不懈努力的結局是美好的。最終,jun的測試團隊因為出色的表現(自動化測試的穩定性和測試的**覆蓋率都超過了微軟的標準)而受到了「聖誕老人「的特別肯定。

開發人員elfe的故事:使用者是最好的老師

在產品開發過程中,開發、測試人員和專案經理之間常常會有很多的爭論:爭論產品的某一表現究竟是錯誤還是本該如此的特性;受時間所限,開發人員不可能修正所有的bug,因此對於bug大家會爭論它的嚴重程度與優先順序,以決定是否需要修正。有時候實在是各有各的理,誰都說服不了誰,問題就只能暫時擱置。

但在笑過之後,大家又都臉上發燒:這可都是因為我們的錯啊。趕緊回頭找找,為什麼有些問題我們在設計時沒能考慮到,為什麼有些bug我們沒能發現,為什麼有些bug我們會認為無關緊要而不去修正。使用者是最權威的裁判,告訴了我們什麼是對什麼是錯。

開發人員 elfe 感嘆:「此後每有爭論,我腦海中就會出現使用者那張絕望的臉。於是,慎重地從使用者角度來考慮事情,而不敢為了追求進度推諉掩藏問題。使用者的受挫體驗,給我上了最生動的一課。」

測試人員li的故事:不懼權威的質疑

除了開發新一代的活動目錄管理工具外,中國團隊還要維護乙個從windows nt4開始,被一代又一代的管理員沿用了十多年傳統管理工具。確保它能在windows server 2008 r2上穩定執行,是一項至關重要的任務。

專案開始不久,li就發現舊工具上的乙個右鍵選單項未作任何改動就莫名其妙失蹤了!檢查相關**後也沒有發現什麼異常。這難道是其它小組的**改動所致?雖然中國團隊只負責adac的開發,但是同樣有許可權查閱和修改windows的任何**。沒有理由說懷疑上述問題是別人導致的就放任不管。既然有了**,li就主動請纓負責尋找問題的根源。在結合多種排錯手段後,終於把問題定位到美國團隊負責的介面**中。

接下來,li把問題描述、對應的**、**修改前後的比較和邏輯分析發給了相應的美國團隊。對方很快就著手分析,一名合夥人級別的開發工程師(微軟某產品線或技術的首席代表)為此發信詢問更詳細的來龍去脈。他堅持認為,根據他原先的設計,相應的問題是不應該出現的,他懷疑是我們團隊工程師的不當呼叫造成的——但li並沒有因為對方是「權威」而放棄質疑。他再次回信分析,最終說服了美國同事在相應的元件中修正了錯誤,消失已久的右鍵選單項又恢復如初了。

類似的情景,在伺服器與開發工具事業部中國團隊,在整個微軟中國研發集團,每天都在上演且永遠不會結束。驅策我們不斷克服困難、努力前行的動力是身為中國軟體工程師的責任感和以創新影響全球使用者的成就感。

徐雁斐

微軟產品開發中的「戰爭與和平」

衝突是微軟 開發工作 時的常態,每個微軟新產品的孕育過程概莫能外地充斥著質疑 抗爭 苦悶 忐忑 理念的交擊 智慧型的衝撞讓軟體開發 的各個階段都瀰漫著硝煙,直至產品發布,然後又要邁入下乙個迴圈。對於微軟工程師們來說,這樣的經歷就彷彿是一次次痛苦但不乏驚喜的涅槃。這篇部落格記錄了微軟windows s...

開發自測?開發與測試的戰爭

做測試的都會遇到過 開發提交的版本質量太差!開發人員提交測試後發現大部分主要功能都不通,後續告知修復完成,測試人員又去驗證,結果還是大部分功能不通,這樣的效率實在讓人無法忍受。開發自測自然在測試人員心 現!質量的提公升不只是測試團隊的事情,這句話貌似都在說,跟在喊口號一樣,並不能帶來實際的效果。開發...

數字戰爭 蘋果 谷歌與微軟的商業較量

數字戰爭 蘋果 谷歌與微軟的商業較量 基本資訊 出版社 中信出版社 isbn 9787508639703 出版日期 2013 年6月 開本 16開 頁碼 288 版次 1 1 所屬分類 經濟管理 經濟 經濟學 各行業經濟 it行業 電子商務 更多關於 數字戰爭 蘋果 谷歌與微軟的商業較量 內容簡介 ...