實(shí)施本過(guò)程域要達(dá)到以下目標(biāo):
1)軟件工作產(chǎn)品的版本得到控制;
2)軟件工作產(chǎn)品的變更得到控制;
3)利益相關(guān)方清楚了解軟件工作產(chǎn)品的狀態(tài)。
但是,如果把所有軟件開(kāi)發(fā)過(guò)程的工作產(chǎn)品都嚴(yán)格控制起來(lái),這個(gè)代價(jià)太大,而且有很多浪費(fèi)。
那么,應(yīng)該哪些軟件工作產(chǎn)品納入配置管理呢?標(biāo)準(zhǔn)中是這樣描述的——“置于配置管理之下的工作產(chǎn)品包括向顧客交付的產(chǎn)品、指定的內(nèi)部工作產(chǎn)品、采購(gòu)的產(chǎn)品、工具以及在生成和描述這些工作產(chǎn)品時(shí)使用的其他項(xiàng)”。
這里把納入配置管理的工作產(chǎn)品分成以下幾類:
向顧客交付的產(chǎn)品:通常在合同或者軟件研制任務(wù)書(shū)中明確的那些軟件承制方應(yīng)交付的產(chǎn)品;
指定的內(nèi)部工作產(chǎn)品:組織內(nèi)部要求軟件研制任務(wù)完成時(shí)應(yīng)交付的產(chǎn)品,比如軟件研制任務(wù)書(shū)中沒(méi)有明確要交付設(shè)計(jì)說(shuō)明,但組織內(nèi)部要求此類軟件應(yīng)有設(shè)計(jì)說(shuō)明歸檔,則應(yīng)將設(shè)計(jì)說(shuō)明納入配置管理;
采購(gòu)的產(chǎn)品:軟件外包合同中要求承制方提供的產(chǎn)品;
其他項(xiàng):如納入配置管理的產(chǎn)品引用的重要文檔資料。
? 專用實(shí)踐1.1 標(biāo)識(shí)配置項(xiàng)
本實(shí)踐就是要把置于配置管理的工作產(chǎn)品標(biāo)識(shí)出來(lái)。標(biāo)準(zhǔn)建議的應(yīng)標(biāo)識(shí)的工作產(chǎn)品在前面已經(jīng)有了說(shuō)明。
本實(shí)踐下面的5個(gè)子實(shí)踐完整地闡述了本實(shí)踐應(yīng)進(jìn)行的活動(dòng):
a)條是“選擇作為配置項(xiàng)的工作產(chǎn)品”,b)條是對(duì)其“賦予唯一標(biāo)識(shí)符”,c)條是指明作為配置項(xiàng)的工作產(chǎn)品的特征(作者、文件類型等),d)條指明受控時(shí)機(jī),e)條標(biāo)識(shí)受控配置項(xiàng)責(zé)任人。
? 專用實(shí)踐1.2 建立一個(gè)配置管理系統(tǒng)
本實(shí)踐就是要求使用工具管理受控的配置項(xiàng)以及變更記錄。
配置管理也是需要投入很多時(shí)間和精力,所以不能“眉毛胡子一把抓”,標(biāo)準(zhǔn)當(dāng)中也給出了一個(gè)很好的建議——“建立配置管理的多級(jí)控制機(jī)制”。而控制級(jí)的例子,包括:“創(chuàng)建——受作者控制;工程——進(jìn)行更改時(shí)通知利益相關(guān)方;開(kāi)發(fā)控制——低層的配置控制委員會(huì)控制;正式控制——顧客參與的高層的配置控制委員會(huì)控制”。
這4個(gè)控制級(jí)別,可以這樣理解:
“創(chuàng)建”對(duì)應(yīng)的是通常所說(shuō)的開(kāi)發(fā)庫(kù),即工作產(chǎn)品由作者控制簽入、簽出和變更;
“工程”級(jí)別則要求作者更改工作產(chǎn)品時(shí)通知相關(guān)方;
“開(kāi)發(fā)控制”可以對(duì)應(yīng)項(xiàng)目組或科室級(jí)別的受控庫(kù);
“正式控制”可以對(duì)應(yīng)的是組織級(jí)的受控庫(kù)。
? 專用實(shí)踐1.3 生成或發(fā)布基線
前兩個(gè)專用實(shí)踐就是本實(shí)踐的基礎(chǔ)。當(dāng)已經(jīng)標(biāo)識(shí)好的、組成基線的配置項(xiàng)用配置管理系統(tǒng)控制起來(lái)之后,我們就可以進(jìn)行本實(shí)踐的工作——生成或發(fā)布基線。
而且,基線的來(lái)源是:“僅從配置管理系統(tǒng)中的配置項(xiàng)生成或發(fā)布”。這里表達(dá)的意思就是,本實(shí)踐的前提是組成基線的配置項(xiàng)已經(jīng)受控,已經(jīng)納入配置管理庫(kù)。
? 專用實(shí)踐2.1 跟蹤更改申請(qǐng)
本實(shí)踐要求做好變更影響分析,通過(guò)評(píng)審,并且被記錄,被驗(yàn)證關(guān)閉。
做變更影響分析都考慮哪些受影響的對(duì)象?
標(biāo)準(zhǔn)中說(shuō),“分析更改申請(qǐng)以確定此更改對(duì)此工作產(chǎn)品、相關(guān)的工作產(chǎn)品、預(yù)算和進(jìn)度的影響”。這里的“對(duì)此工作產(chǎn)品、相關(guān)的工作產(chǎn)品、預(yù)算和進(jìn)度的影響”就是變更影響分析的內(nèi)容和范圍。
變更還要和利益相關(guān)方取得一致意見(jiàn)?!皩?shí)施(更改)處置中所要求的措施,并向利益相關(guān)方報(bào)告結(jié)果”,就是說(shuō),更改后的結(jié)果(更改的內(nèi)容、更改可能造成的影響等)要告知利益相關(guān)方。
? 專用實(shí)踐2.2 控制配置項(xiàng)
本實(shí)踐就是要控制受控配置項(xiàng)變更的各個(gè)版本和變更歷史。
控制配置項(xiàng)變更,很重要的一點(diǎn)就是,“為了以維護(hù)配置項(xiàng)正確性和完整性的方式納入更改,從配置管理系統(tǒng)檢入和檢出配置項(xiàng)”。
很多開(kāi)發(fā)人員喜歡在自己本地存儲(chǔ)的工作產(chǎn)品基礎(chǔ)上進(jìn)行更改,可是如果更改日期距離工作產(chǎn)品產(chǎn)生日期已經(jīng)很遙遠(yuǎn),就會(huì)很容易出現(xiàn)版本混亂。所以組織在體系上應(yīng)規(guī)定要更改的配置項(xiàng)應(yīng)從配置管理系統(tǒng)中檢出,在技術(shù)上也應(yīng)在檢入的時(shí)候進(jìn)行文本比對(duì)以核對(duì)是否僅更改了變更申請(qǐng)中所描述的更改內(nèi)容。
不僅如此,“所更改的配置項(xiàng)在配置更改經(jīng)評(píng)審批準(zhǔn)后發(fā)布”,這是要求所有的更改都要進(jìn)行驗(yàn)證后才允許檢入配置管理系統(tǒng)。不經(jīng)過(guò)驗(yàn)證的更改是不允許的。
? 專用實(shí)踐3.1 建立配置管理記錄
本實(shí)踐要求做好各類配置狀態(tài)記錄,包括:配置項(xiàng)狀態(tài)、配置項(xiàng)變更歷史、各種變更記錄以及基線之間的差異。
其中有個(gè)子實(shí)踐——“描述逐個(gè)基線之間的差異”,在一些組織的標(biāo)準(zhǔn)實(shí)施當(dāng)中,經(jīng)常被忽略或者做得不是太好。
對(duì)基線的記錄,僅僅給出基線的版本、構(gòu)成基線的配置項(xiàng)的版本還是不夠的,畢竟基線牽涉到不僅僅是項(xiàng)目組成員,還有項(xiàng)目組外的其它利益相關(guān)方。所以還應(yīng)記錄基線之間內(nèi)容上的差異,以便其它利益相關(guān)方獲取基線的狀態(tài)信息。
? 專用實(shí)踐3.2 執(zhí)行配置審核
本實(shí)踐是為了確保配置項(xiàng)正確地受控且受控的配置項(xiàng)也是正確的所進(jìn)行的活動(dòng)。
配置審核分為功能配置審核、物理配置審核、配置管理審核三類:
功能配置審核是確認(rèn)基線及其構(gòu)成的配置項(xiàng)工作產(chǎn)品是否符合需求;
物理配置審核是確認(rèn)配置項(xiàng)是否符合體系或者規(guī)范對(duì)于工作產(chǎn)品的約定(包括SP1.1中所要求的配置項(xiàng)標(biāo)識(shí)、文檔特征、時(shí)機(jī)、責(zé)任人等);
配置管理審核是確認(rèn)配置管理活動(dòng)的正確與否(通常由QA人員或更高級(jí)的配置管理員來(lái)完成)。