隨著CMMI熱潮興起,有些軟件企業(yè)誤認為,只要通過CMMI就萬事俱備,高枕無憂了。事實并非如此。與其說CMMI是一種標準,不如說是一種管理方法和管理思想。企業(yè)通過CMMI評估并不是企業(yè)持續(xù)改進的工作就此結束,這僅僅是企業(yè)發(fā)展道路上的一個里程碑。評估不是最終目的,它只是檢驗企業(yè)自身研發(fā)能力成熟度的一種手段。企業(yè)要生存、發(fā)展,就必須不斷地自我完善,自我超越,就必須在配置管理、項目計劃、質量保證等方面持續(xù)努力。
配置管理來源于硬件系統(tǒng)。例如PC行業(yè)中,每一臺PC由主機和顯示器等構成,而主機又由CPU、主板等構成,對這些構件配置情況進行管理,就是硬件的配置管理。在軟件行業(yè),計算機軟件由編譯后的代碼和相關的一系列文檔組成。但構成軟件的部件的變化是跟隨軟件產品的開發(fā)周期而不斷變化的。就頻率和程度來說,軟件的變化遠遠大于硬件。因此,軟件配置管理是一套管理軟件開發(fā)和軟件維護的方法和規(guī)則,其最終體現的是維護軟件產品的一致性和完整性。
變更常有
筆者所在銀行科技部已經建立了比較完善的項目管理體系和質量保障體系,但要應對分行或支行需求變更和相關軟件版本配置管理的問題,如果沒有一整套的解決措施和工具的支持,就會出現以下問題:
1)分行反映的缺陷更改不能快速響應,不能快速分配缺陷到指定的開發(fā)人員,只能依靠口頭或文檔的傳輸,缺乏一個整合開發(fā)商服務人員、產品經理(或項目經理)、開發(fā)團隊領導、開發(fā)人員、分行領導的信息傳遞和交流的平臺。
2)分行的需求變更不能快速響應。分行的需求變更和軟件版本配置只能依靠手工備份,因而,自身不能快速有效地管理各系統(tǒng)的版本,缺乏版本基線的管理策略。
針對以上問題,可以考慮采用軟件配置管理這一關鍵域的思路系統(tǒng)地解決以上問題。配置管理是整個集成軟件項目正常運作的一個管理支撐平臺,其目的就是將有關該項目的客戶、客戶服務人員、產品經理(或項目經理)、開發(fā)團隊領導、開發(fā)人員、高層領導等項目干系人的工作協同起來,實現高效的溝通,及時地共享工作成果。
配置管理的基本功能包括配置標識、變更控制、配置狀態(tài)發(fā)布和配置審計。變更控制是配置管理的重要內容,其目的是為了在動態(tài)中保證配置項的完整性、一致性和可回溯性,保證配置項的變更過程規(guī)范、受控、有完整記錄,受影響的各方均能及時了解情況,并協調一致。
控制不可少
變更控制是通過創(chuàng)建產品基線,在產品的整個生存周期中控制它的發(fā)布和變更。配置控制指在配置項標識正式確定之后,對配置項特別是對已提交的代碼、相關文檔和數據等的變更進行系統(tǒng)地跟蹤和控制的過程,主要包括變更的提出、確定配置項的控制等級、變更的評價、變更的處置、實施經批準的變更、對變更進行驗證和結束變更。變更控制的目的是建立一套控制軟件修改的機制,保證生產符合質量標準的軟件和保證每個版本的軟件包含所有必需的元素及工作在同一版本中的各元素中可以正常工作,以確定在變更控制過程中控制什么,如何控制,誰控制變更、何時接收變更、批準和檢驗。
配置項級別
1)已基線化的配置項是指已完成該配置項的審核和批準,并且成為創(chuàng)建或修改其他配置項的輸入。例如:一個設計文檔已審核、通過、簽發(fā),并且成為編碼活動的基礎。
2)受管理和受控的配置項是指已提交審核,但還沒有批準通過的配置項。例如:一個正在進行審核的設計文檔。
3)受控的配置項指已置于版本控制,但項目組不能直接進行改動的配置項。例如:用戶提供的軟件、購買的工具、產品標準等等。
變更請求的狀態(tài)
軟件變更、軟件優(yōu)化和軟件bug都是產生變更的原因。變更申請人(用戶或產品經理)提出變更時,首先要對受控的配