|
研究院 , 而且 代表 這 個 專案 。 他 處在 協調 中美 兩 個 研究院 的 位置 上 : 召集 會議 、 檢查 進度 、 洞悉 專案 在 每 一 階段 的 進展 及 障礙 , 並 收集 所有 正常 的 和 意外 的 情況 , 以便 向 太平洋 兩岸 的 任何 一 方 通報 。 雷德蒙 的 冬季 氣候 溫和 而 溼潤 , 西南邊 不遠處 的 瑞尼爾山 ( Mount Rainier ) 白雪 皚皚 , 山 下 卻 是 綠草如茵 。 陰雨 綿綿 無盡 , 偶爾 雲開 日出 , 天空 湛藍 , 日月俱 澄澈 。 每 天 早晨 , 王慶 從 哈利泰吉 花園 公寓 出來 , 一邊 呼吸 著 新鮮 空氣 和 紅杉樹林 散發 的 清香 , 一邊 走上 第四十 大街 , 再 拐 一 個 彎 , 就 到 了 微軟 總部 一一五號樓 三三一九號 房間 的 臨時 辦公室 。 微軟 公司 的 中樞 伺服器 已 將 前 一 天 誕生 的 產品 版本 準備 就緒 , 他 上班 後 的 第一 件 事 就 是 在 電腦 上 找到 它 。 準確 地 說 , 這 是 一 個 半成品 。 王慶和 微軟 公司 所有 開發 人員 都 把 它 叫做 「 Build 」 。 這 個 詞 可 直譯為 「 建造 」 , 簡單 地 說 , 建築 一 個 軟體 有如 建築 一 棟 樓房 。 但 要 更 準確 地 理解 這 個 詞 的 涵義 , 就 不能不 涉及 微軟 公司 內部 的 軟體 製作 程式 。 微軟 的 軟體 產品 通常 具有 極 大 規模 , 大型 產品 小組 集中 了 數千 人 的 智慧 和 精力 , 每 個 人 都 擁有 自己 獨立 的 空間 來 想像 和 創造 , 但 所有人 的 發明 最終 須 結合 在一起 , 互相 融合 而 不至於 互相 抵觸 , 這 就 是 所謂 「 整合 」 的 工程 。 如果 坐視 開發 人員 各自為政 、 盡情 發揮 , 對 相互 不能 銜接 甚至 衝突 的 環節 不 加 過問 , 就 必然 形成 一 大 堆 互 不 相關 的 「 零件 」 。 你 要 把 一 個 飛機 發動機 裝 在 汽車 上 , 就算 東西 再 好 也 必然 導致 失敗 。 由於 這樣 的 理由 , 在 微軟 公司 內部 屬於 個人 創造 的 部分 越 是 精彩 紛 呈 , 整合 的 工作 也 就 越 是 頻繁 嚴謹 。 到 了 一 個 產品 將要 定型 的 最後 階段 , 這 種 整合 就 必須 每 天 進行 。 「 整合 」 的 工作 並非 人工 完成 , 而是 由 伺服器 中樞 自動 實現 。 具體 操作 方法 是 : 所有 開發 人員 隨時 將 自己 完成 的 工作 透過 網路 傳送到 伺服器 上 , 無論 是 幾十 人 開發 的 小 產品 , 還是 幾千 人 開發 的 大 產品 , 均 須 執行 此 項 步驟 。 伺服器 依靠 自己 的 工具 程式 , 每 天 將 所有人 的 工作 匯聚 在一起 , 自動 加以 整合 , 「 建造 」 為 一 個 新 的 版本 。 公司 內部 各 個 產品 小組 大體 上 每 天 都 會 提交 一 個 新版 , 但 卻 無法 做到 讓 每 一 個 新版 都 處於 穩定 狀態 , 也 無法 確保 每 天 的 工作 都 能 與 其他 小組 相互 配合 。 他們 只 需 將 其中 比較 穩定 的 版本 標定 存檔 , 供 其他 小組 使用 , 自己 則 可以 繼續 往 前 走 。 如此 每 個 組 都 在 奮力 向 前 , 又 在 自己 的 身後 留下 一 系列 「 新版 」 。 所有 參與 者 必須 同步 前行 , 如果 只有 一 個 人 停滯 不 前 , 那 就 不僅 是 落後 , 還 會 造成 整體 系統 失去 協調 。 各 個 產品 小組 的 「 新版 」 需 不斷 整合 在一起 , 以 供 檢測 小組 檢驗 。 伺服器 中樞 大樓 裡 一 批 功能 強大 的 電腦 每 天 都 將 全部 「 新版 」 拷貝 , 並 轉移到 安全 的 地方 , 以防 失火 、 失竊 一 類 的 不測 事件 。 在 電腦 螢幕 上 顯示 期待 著 的 「 新版 」 程式 之後 , 王慶 便 下意識 地 查驗 中文 部分 是否 已 被 整合 在 其中 , 又 是否 產生 了 新 的 麻煩 。 假如 一切 順利 , 他 就 要 把 這 一 「 新版 」 透過 網路 傳到 北京 , 供 那裡 的 檢測 人員 檢測 。 這樣 的 工作 每 天 重複 一 次 , 所以 數十萬 行 程式 原始碼 在 每 二十四 小時 中 就 要 往返 太平洋 兩岸 一 次 。 檢測 在 微軟 公司 的 軟體 製作 過程 中 是 極 重要 的 一 環 。 與 一般 製造業 的 情形 不同 的 是 , 微軟 公司 的 軟體 測試 和 開發 製作 是 同步 進行 的 , 並 不 像 人們 一般 想像 的 等到 產品 完成 之後 再 來 檢測 。 檢測 人員 數量 龐大 , 與 研究 開發 人員 的 比例 大致 為 一 比 一 。 北京 方面 的 檢測 工作 由 希格瑪 大廈 六樓 的 微軟 研發 中心 負責 。 微軟 中國 研究院 的 這 套 語音 識別 程式 , 每 天 必須 檢測 的 內容 超過 四百 種 , 在 整 個 開發 過程 中 , 只有 極少 情況 能夠 一帆風順 。 在 大多數 情況 下 , 檢測 人員 總會 抓出 很多 「 臭蟲 」 。 消滅 「 臭蟲 」 的 具體 方法 是 發現 者 首先 要 有 辦法 使 「 臭蟲 」 能夠 再現 , 而且 記錄 其 出現 的 時間 、 條件 和 表現 方式 。 當 其他 人 使用 同樣 辦法 可以 讓 「 臭蟲 」 再現 的 時候 , 就 證明 檢測 的 結論 有效 , 但 並非 所有 的 「 臭蟲 」 都 在 必須 消滅 之 列 。 研究 人員 通常 依據 「 臭蟲 」 對 軟體 的 損害 程度 分成 四 個 「 優先 等級 」 , 「 最 高 等級 」 的 「 臭蟲 」 一經 發現 , 直接 責任 者 必須 在 徹底 解決 問題 之後 方 能 離開 辦公室 。 對於 大多數 並 不會 造成 後果 的 「 臭蟲 」 則 有 可能 不予 理睬 , 甚至 永遠 留在 產品 中 。 王慶 在 太平洋 兩岸 不斷 傳遞 這 套 語音 系統 的 兩 個 月 中 , 檢測 人員 總計 發現 了 二千五百 個 以上 的 「 臭蟲 」 , 其中 有 重要 影響 而 必須 消滅 的 有 幾十 個 , 每 個 「 臭蟲 」 都 有 獨立 的 編號 , 並 詳細 記載 其 生存 週期 , 亦即 它 的 出生 、 發展 和 死亡 、 消滅 它 的 方法 , 以及 在 消滅 過程 中 是否 產生 了 新 的 問題 , 是 為 「 臭蟲 檔案 」 , 供 日後 人們 在 遇到 類似 問題 時 可以 參照 , 又 可 在 產品 完成 後 對 「 臭蟲 」 數量 、 消滅 了 多少 、 還 有 多少 隱藏 在 產品 中 一一 加以 統計 。 「 臭蟲 」 的 「 平均 壽命 天數 」 是 判斷 開發 人員 工作 質量 的 標準 之 一 , 對於 必須 加以 消滅 的 「 臭蟲 」 , 則 由 研究院 的 開發 人員 找出 程式
|