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