對於參與同一個專案的許多人所產生的無數「工作成果」,需要一套 CM 系統來控制。控制可以避免因情勢混亂而付出慘痛的代價,確保產生的「工作成果」不會因為下列某些問題而發生衝突:
同步更新
當兩位或以上的團隊成員在同一件工作成果上各自為政時,則最後變更的人會覆蓋前者的動作。基本上,問題在於如果系統不支援同步更新,則如此將形成變更串列,拖垮開發流程的速度。不過,就算支援同步更新,仍然要設法偵測同時發生的更新,並於納入這些變更時解決任何整合問題。
通知不完整
在多位開發人員共同參與的工作成果中修正問題時,有些人員未接獲變更通知。
多重版本
絕大多數的大型程式都是採取進化發行來開發。一個發行供客戶使用,另一個發行做為測試用途,第三個發行持續進行開發。如果任一版本發生問題,則修正結果必須傳達給其他版本。一定要小心控制和監督變更,否則可能出現失控的情況,導致需要修正和甚至重做,付出慘痛的代價。
CM 系統適用於管理開發中軟體系統的各種變化、追蹤特定軟體建構版本中使用的版本、依使用者定義的版本規格來執行個別程式或整個發行版本的建構工作,以及強制實施環境規定的開發原則。
CM 系統提供的一些直接的好處包括:
-
支援開發方法
-
維護產品完整性
-
確保配置的產品的完整性和正確性
-
提供穩定的環境來開發產品
-
根據專案原則來限制工作成果的變更
-
提供審核追蹤,顯示任何工作成果變更的原因、時間及變更者
此外,CM 系統還會儲存開發流程本身的詳細「帳戶」資料:誰建立特定的版本(及時間和理由)、什麼來源版本納入特定的建構版本中,以及其他相關資訊。
產品的整個生命週期會運用組織的 CM 系統,包括從初始階段到部署階段。 CM 系統是組織的資產儲存庫,存放需求、設計及實作構件的原始檔的最新版本和以前的版本,這些構件定義一個系統或系統元件的特定版本
產品目錄結構存在 CM 系統中,包含實作產品所需的所有構件。由於「配置與變更管理 (CCM)」規範存放著其他所有流程規範所產生的工作成果,因此與這些流程規範都有關係。
|