1) 配置項識別
配置項識別就是將配置項按規定統一編號,將其劃分為基線配置項和非基線配置項,按一定的結構保存在配置庫中,然后賦予不同人員不同的權限來使用它們。
那么,“基線”又是什么呢?
基線是由一組具有唯一標識號的配置項組成的。這些配置項構成一個相對穩定的邏輯實體,它們處于“凍結”狀態,不能被任何人隨意修改。
基線通常與項目開發過程中的里程碑點相對應。在項目里程碑階段,項目通常會進行階段成果評審,經過正式評審并獲得批準的階段性項目成果的統一標識便標志著項目的不同基線。根據使用對象的不同,基線被分為建造基線(對內使用)以及放行基線(對用戶使用)。
對基線及其集成系統的任何修改,都必須按照特定的規程來評估和驗證。
2) 變更控制
隨著項目的進展,需求、開發資源及環境都可能會發生變更,變更控制便是對這些變更進行跟蹤和規劃,目的是便于變更的有效管理和追溯,避免工作的混亂。
變更控制使配置項真正處于受控狀態,并保障配置項在任何情況下都能迅速恢復到任一歷史狀態。
上圖是一個較典型的變更控制流程,它的重點在于變更申請審批、變更方案審核、變更結果評估等環節。通過這種審批、審核,來保證變更的合理性,降低變更風險。
3) 版本管理
這里的版本包括各種文件、技術文檔和程序版本。這些配置項均屬于版本管理的范疇。
版本管理的目的是按照一定的命名規則保存配置項的所有版本,避免發生版本丟失或混淆等現象,并確保能快速而準確地查找到配置項。
版本管理對存取軟件資源采取加鎖等控制策略,保證了多人同時開發時軟件資源的內容一致性和正確性。
配置項的狀態通常有三種:“草稿”、“正式發布”、“正在修改”。 配置項的不同狀態由多種版本號所組成。隨著狀態流程的變遷,版本號發生變化,新的版本出現,版本管理就是對配置項各種版本的進行存儲、登記、索引、權限分配等一系列管理活動。
4) 配置狀態報告
根據配置庫的記錄情況,我們可以總結出不同角度的配置狀態報告。它可以由CASE工具自動生成,如:《配置項的狀態》、《基線之間的差別描述》、《變更日志》、《變更結果記錄》等。
通過配置狀態報告,我們可以了解基線配置項的狀態、當前的工作進度、變更對項目進展的影響等情況。從而為開發決策提供參考依據。
軟件配置管理工具的選擇
“工欲善其事,必先利其器”,配置工具的選擇對配置管理的好壞影響巨大。
配置工具是配置管理的自動化平臺,是一個管理具體實施的基礎。一套功能強大、實施容易、管理方便的配置管理工具,可以極大地提高配置管理的實施效果。
目前配置管理工具大致分3類:
版本控制工具,提供基本的版本管理功能,例如:CVS, Visual SourceSafe;
項目級配置管理工具,適合中小型的項目,除版本管理功能外,還提供變更控制、狀態統計功能,例如:clearcase/" target="_blank" >ClearCase,PVCS,StarTeam;
企業級配置管理工具,除上述功能外還提供較強的過程管理功能,例如:ALLFusion Harvest。
如何選擇配置工具呢?通常的選擇標準如下:
提供基線化管理,對于基線有明顯的標識。在工具所管理的配置庫中,所有的配置項都應清晰、完整的得到保存,對于同一基線所包含的配置項可以迅速而明確地查到。如:項目人員在實施某一個需求變更時,可以方便地查到與此更改相關的編碼、文檔、測試用例、使用手冊等產品單元,從而保證變更的完整性。
操作簡單、流程便利。項目開發是一項復雜工程,項目人員工作繁重,應盡量減輕他們的工作壓力,消除其使用戒心。
提供完善過程管理功能。能根據實際情況定制不同的開發規范,包括訪問權限控制、開發規則的實施等;能跟蹤、控制開發過程中出現的缺陷、變更等,可以隨時了解變更的實施狀態。
提供靈活多樣的配置狀態報告。在配置的不同階段能提供多角度的配置狀態報告,詳細反映配置項的變化過程,追溯變更任務的進程,為項目管理提供第一手參考資料。
管理規范的制定與推廣
通常人們會認為,配置管理就是工具管理,就是找幾個人,買幾個工具,就可以開干了,這實在是大大的誤解。再好的工具都要靠人來操作、管理。工具是死的,人是活的。工具雖好,若無嚴格可行的規章、流程做保證其實施,要做好配置管理是空談。
配置管理規范是成功實施配置管理的根本保障。它包括:配置管理計劃、版本控制規則、變更控制規則、配置庫操作規則、配置審計規則等,所有這些,構成了完整的配置規范及配置管理基礎。
如何做好配置管理的相關規范及流程呢?
1、明確項目要做到的配置管理目標。
2、根據目標確立配置管理應提供的功能。
3、確定相關人員,明確其崗位職責。
4、確定是否要引入配置管理工具,如需引入,要引入何種工具。
5、確定配置管理流程。
制定配置管理計劃。
1)配置控制委員會(Configuration Contronl Board ,簡稱CCB)根據項目的開發計劃制定階段里程碑,明確開發策略;
2)配置管理人員(Confiuration Management Officer,簡稱CMO)根據CCB的規劃,制定配置管理計劃,交CCB審核;
3)CCB審核通過配置管理計劃后,將其交項目經理批準,然后對外發布。
執行配置管理計劃。
1)CCB設定項目研發的初始基線;
2)CMO設立配置庫與空作空間,為軟件開發做準備;
3)開發人員根據軟件配置策略獲得授權資源,進行研發工作。
4)CCB根據研發進展情況,審核項目變更請求,根據里程碑來確定新的基線,推進配置管理活動。
6、制定相關規范來保障流程的實施。
規范規定完畢,還要有執行,如何來推進配置管理各項制度及流程呢?