微軟老兵看軟體開發(10):比爾蓋茲的危機救援術

葉光釗
曾任台灣微軟研究開發部副總經理、公共事業群技術長,是 IT 業界經歷長達二十年的老兵。對微軟全球技術的開發實務有深入了解,並有獨到見解。

比爾蓋茲可以算是名留IT青史的一號人物,有著改變科技潮流與歷史的影響力。但是很多人不知道,在微軟內部的工程領域,他早期的一些作為可是褒貶不一。

一方面,微軟的確有一些失控專案的帳,很難不算在他的頭上;但他畢竟是神人級的人物,在過去幾個微軟生死關頭的關鍵點,他也做出了力挽狂瀾的決定。整體而言,他對微軟的成功,還是有著決定性的影響力。

比爾蓋茲任內有三件最受關注的重大決定: 第一是1999年的「擁抱並延伸」(Embrace and Extend)網際網路的宣言,第二是在2002年宣布「可信賴運算芻議」(Trustworthy Computing Initiative, TwC),而第三是在2008年任命Ray Ozzie為總架構師,進一步催生了Azure雲端服務。其中筆者認為比爾蓋茲對微軟工程基礎與實務衝擊最大的,應該是TwC的成立;而這也堪稱筆者所見過最成功的軟體危機救援。

Windows XP的安全性危機

話說Windows XP在2001年的上市,受到微軟和個人電腦業界的極度重視;因為在工程技術上,它是首款全面採用32位元技術,能夠完全發揮當時Intel硬體特性,而還同時保留16位元相容模式的Windows作業系統。在這之前,雖然Windows NT也是32位元系統,但是並不能跑Win 3.x及 Win9x的程式。Win XP大一統了微軟的作業系統產品線,工程師的興奮程度無可言喻。

Windows XP的大獲成功,引來駭客覬覦;各種安全漏洞不斷出現,釀成嚴重危機。

但是一些基本的問題很快就浮現出來:一方面XP的成功,招來了黑白兩道駭客的關注,系統各處的軟體弱點不斷被翻出來;另一方面,工程團隊對於系統化的更新架構和程序還來不及上手,修補弱點以及釋出更新程式的速度一直快不起來。結果雪球越滾越大,微軟對到處冒出來的安全問題應接不暇;客戶的耐心和信任逐漸崩解,而且媒體也大加撻伐,批評微軟簡直置使用者的安全於不顧。那時的微軟狼狽至極,而且用戶對微軟產品的信任問題,也延續了好長一段時間。

比爾蓋茲看出來這個危機如果不主動處理,幾乎會動搖微軟的國本。他跟一票資深高階主管不但動作快,也很果斷:首先是公布了那一份有名的「可信任運算宣言」  ,同時在微軟內部做了幾件重要的措施。

力挽狂瀾

首先,比爾蓋茲成立了TwC部門,總攬全公司工程部門的資安技術訓練以及工法的選擇。當時當下最重要的任務,是協助每個開發中的產品架構評估弱點的多寡以及嚴重性,並且定下優先順序。

接下來,他下令將所有(沒錯,是所有)開發中的產品停下來,除了進行評估之外,還讓所有的PM、Dev和Test接受安全軟體開發(Secure Software Development Life Cycle, SDLC)的技術訓練,海外的工程人員也不例外,要分批飛回總部受訓。

最後是將安全性更新系統化、制度化,訂出了有名的「星期二更新」(Patch Tuesday),增加了使用者的穩定感與信心。

老實說,一開始實施這些措施的時候,許多人很反感,甚至對公司有抱怨跟抗議。早期多半的工程師,包含我自己在內,總是認為這些資安的措施是額外的負擔,所以能敷衍就敷衍,交差就好;這也是形成問題的基本原因。

比爾蓋茲可說用盡一切方法,重建微軟自己人以及客戶的信心。

但是,當大家看到公司的高階主管對資安的堅持,絲毫沒有讓步的意思,同事們才認知這件事非同小可,只好硬著頭皮跟著策略方向走。到了後幾個世代的微軟工程師,就已經把這些程序視為理所當然,資安融入了微軟的企業文化及工作習慣當中。到了現在,總算是逐漸拾回用戶的信心。

對於這些措手不及的各種危機,微軟也發展出了基本的處理方法:

  1. 先暫停正在進行的活動,用最短的時間檢視眼下的情況,以及評估影響的範疇。
  2. 針對影響最大的部分進行止血,阻止後續的崩壞。
  3. 絕對不能風頭過了就算了,必須建立可持續執行的程序,避免同樣的情況發生。

總而言之,比爾蓋茲可說用盡一切方法,重建微軟自己人以及客戶的信心,並且讓所有人看到執行的決心;這才能算是真正的救援成功。


喜歡我們的文章嗎?按讚立即加入粉絲團 :)

獎勵作者

歡迎您以點數獎勵作者:

關於點數的獲得與使用方式,請參閱說明