現代技術成長中有許多道路。其中技術的自主開發與技術和現代工業的結合,通常是現代技術成長的主要道路。然而,在信息領域,不尋常的事太經常了。微軟的成功就在於它走的是第三條道路:自主開發+軟件工廠市場。
這第三條道路最不尋常的地方,就在於它把市場取向作為技術開發、產品形成和測試、售後服務的核心,在技術創造市場和市場決定技術之間,保持一種富有彈性的張力,在近期目標和長遠目標之間,形成一種良好的反饋結構。
“軟件工廠”是微軟自主開發的管理模式,其中就反映了明顯的市場取向。這一理論是微軟的首席程序大師查爾斯·西蒙伊提出的。西蒙伊就是當年在PARC發明了“所見即所得”技術的天才,但他的博士論文卻與此無關,而是研究如何提高程序員的生產力,描述如何采取切實有效的方法組織程序員開發軟件。由於軟件開發的問題在於總是無限期的延期,因此,如何在規定時間內完成開發就是主要課題。
西蒙伊認為,在軟件無法如期完成時,加入更多的程序員隻會增加管理上的負擔,而不是解決問題的準確方法。因此,關鍵在於如何有效地讓程序員發揮作用,由此他提出了設置程序經理的辦法。程序經理負責軟件設計和管理,有決定權;程序員按照設計方案去完成軟件。他認為,程序經理作決定時越快越好,其決定至少要有85%被最終證明是正確的。將設計、管理、決定權集中在程序經理身上,軟件開發將會更快、更準、更好。
基於這一理論,蓋茨將程序經理分成不同的級別,形成了管理程序員的金字塔式的體係結構。蓋茨是最高程序經理,他負責產品的長遠目標開發,他以下是幾個技術頂尖的人物,被微軟稱為“建築師”。每個建築師以下是程序經理,最後才是程序員。當然,“軟件工廠”不可能像“硬件工廠”那樣一成不變,因為軟件開發中有太多不確定的因素,不可能全部都在設計規定之中,軟件質量在相當程度上還要依賴於程序員個人的天才發揮。但這一開發管理體製的運行還是相當成功的,微軟形成了龐大而有效率的開發隊伍。