配置管理就是配置管理員的事兒嗎?

一說起配置管理,有些部門就會說,我們沒有專門的配置管理員,這塊工作沒法做啊。那么,配置管理就只是配置管理員的事兒嗎?

那我們就先來看看什么是配置管理,為什么需要配置管理。

(IEEE定義)配置管理是通過技術(shù)或行政手段對軟件產(chǎn)品及其開發(fā)過程和生命周期進(jìn)行控制、規(guī)范的一系列措施。配置管理的目標(biāo)是記錄軟件產(chǎn)品的演化過程,確保軟件開發(fā)者在軟件生命周期各個(gè)階段都能得到精確的產(chǎn)品配置。

(CMMI定義)配置管理的目的是通過配置識別,配置控制、配置狀態(tài)記錄及配置審計(jì),來建立和維護(hù)工作產(chǎn)品的完整性。

這里面有幾個(gè)活動:

1. 配置項(xiàng)識別

配置項(xiàng)通常是最終工作產(chǎn)品,以及對最終產(chǎn)品有直接影響的中間產(chǎn)品。對于一個(gè)軟件研發(fā)項(xiàng)目來說,軟件包、用戶文檔等是最終產(chǎn)品,什么對最終產(chǎn)品有影響呢,包括最初的需求文檔,原型,設(shè)計(jì)文檔,源代碼,測試用例,甚至編譯腳本都是對最終產(chǎn)品有影響的,上游變,下游也需要跟著變,它們也需要識別為配置項(xiàng)。而一些計(jì)劃、周報(bào)、會議紀(jì)要等,屬于管理性文檔,并不需要納入配置項(xiàng)的范圍。

配置項(xiàng)的識別,是要建立在對工作產(chǎn)品了解的基礎(chǔ)上,所以說,項(xiàng)目經(jīng)理是最適合識別配置項(xiàng)的人,跟著工作任務(wù)分解和進(jìn)度安排的時(shí)候就可以一起做了。

2. 配置狀態(tài)記錄

要管理配置項(xiàng),首先在物理上要給這些配置項(xiàng)找個(gè)地兒存放起來,在沒有現(xiàn)代配置管理工具的時(shí)候,建個(gè)檔案室或公共文件夾就可以,但是需要把每個(gè)版本的輸出都備份下來,以防需要回退的時(shí)候找不到。為了防止隨意修改,需要有個(gè)人專門保管這些文件,或者對公共文件夾設(shè)置相應(yīng)的權(quán)限。配置項(xiàng)修改后也需要經(jīng)過專門的人再重新放回檔案室或者文件夾。為了分清楚各個(gè)版本或基線的關(guān)系,配置項(xiàng)的版本變更記錄,狀態(tài),以及不同基線的差異,還需要專門維護(hù)一張表格來記錄。所以,配置狀態(tài)記錄更多地是用行政手段來完成的。這個(gè)維護(hù)工作量還是相當(dāng)大的,所以需要一個(gè)專門的檔案保管員或者配置管理員來承擔(dān)。

在有了現(xiàn)代配置管理系統(tǒng)(SVN, GIT)等以后,版本的保留和回退,不同版本/基線的差異,系統(tǒng)都可以通過技術(shù)手段完成。

使用現(xiàn)代配置管理系統(tǒng)(SVN, GIT),項(xiàng)目起初需要建立配置庫和分配權(quán)限,但是這個(gè)工作量基本是一次性的,并不需要專人。

3. 配置控制

說到配置控制,首先要談的一個(gè)概念是“基線”?;€是由一個(gè)標(biāo)識符分配到配置項(xiàng)目或一組配置項(xiàng)的集合,在一個(gè)特定時(shí)間點(diǎn)關(guān)聯(lián)的實(shí)體。一般的基線設(shè)置包括系統(tǒng)級需求、系統(tǒng)組級設(shè)計(jì)需求、和最終開發(fā)和生產(chǎn)初期的產(chǎn)品定義,通常被叫做”功能基線“(或”需求基線“),”分配基線“(或”設(shè)計(jì)基線“), 和”產(chǎn)品基線“。

通俗來說,就是我們標(biāo)識出開發(fā)過程中某些關(guān)鍵階段的關(guān)鍵工作產(chǎn)品,這些工作產(chǎn)品互相有關(guān)聯(lián),它們對于下一個(gè)階段的工作有重要影響。比如需求基線, 包含市場或客戶需求,以及與之對應(yīng)的產(chǎn)品需求。

舉個(gè)例子,當(dāng)產(chǎn)品需求評審修改完以后,大家都達(dá)成一致在這版需求基礎(chǔ)上開發(fā)了,需求就“基線”了,要控制起來,不能隨意修改了。怎么控制基線不讓人隨意修改呢?有幾種操作方式:

?可以把基線的文檔放到專人保管的檔案室里;

?可以把基線的文檔放到一個(gè)權(quán)限受控的文件夾里;

?可以用GIT的分支來控制,基線后的文檔提交到master分支上;

那怎么標(biāo)識基線呢?有幾種操作方式:

?可以把基線的文檔放到一個(gè)約定好的基線標(biāo)識(比如說REQBL)的文件夾里;

?可以在某個(gè)地方記錄下某個(gè)基線(比如說REQBL)對應(yīng)的文檔名稱,版本,以及存儲位置;

?可以在SVN或GIT上對于以及基線的工作產(chǎn)品打上基線標(biāo)簽;

需求”基線“了以后,需要讓大家都知道這是最新”官方“版本,這就是基線發(fā)布??梢匀斯ぐl(fā)郵件,現(xiàn)在我們也可以使用技術(shù)手段讓GIT上基線標(biāo)簽時(shí)自動發(fā)郵件。

”基線“建立了以后,可能又會因?yàn)槟撤N原因需要變更。因?yàn)榛€很重要,是后期大家工作的基礎(chǔ),當(dāng)然不能隨意修改,就需要對變更做審批(通常會成立一個(gè)項(xiàng)目CCB)),看到底需不需要變,如果變了會對下游哪些工作有影響,避免變更造成上下游不一致。已基線的工作產(chǎn)品變更完了,需要再次控制以及標(biāo)識(區(qū)分上一次基線),對大家發(fā)布。

這里面有哪些工作需要“配置管理員“呢? 將基線工作產(chǎn)品處于受控狀態(tài),打基線標(biāo)簽、發(fā)布基線,看起來像是”配置管理員“的事,其實(shí)這只是基本的管理工作,不需要什么專業(yè)知識,項(xiàng)目中可以指派某個(gè)人來做就行。大項(xiàng)目或長周期可能需要建立三個(gè)基線,對于小項(xiàng)目來說,可能只需要一個(gè)基線,就更沒什么工作量了,而且更何況,還可以使用技術(shù)手段自動發(fā)布基線通知了呢!

4. 配置審計(jì)

配置審計(jì)是確認(rèn)最終的基線和文件遵照了特定標(biāo)準(zhǔn)或需求。通常分為物理審計(jì)和功能審計(jì)。

物理審計(jì)要看,配置項(xiàng)標(biāo)識、基線標(biāo)識是否和約定一致,配置項(xiàng)存放位置是否與約定一致,變更是否有審批,有沒有保留變更記錄以及相應(yīng)的評審記錄等等。物理審計(jì)可以由配置管理員來做,也可以由質(zhì)量人員來做,或者是項(xiàng)目內(nèi)部指定人員。這個(gè)工作其實(shí)可以包含在日常的配置管理活動中。

功能審計(jì)內(nèi)容要驗(yàn)證配置項(xiàng)目的測試功能特征,是否達(dá)到功能基線指定的需求。一般由項(xiàng)目經(jīng)理或架構(gòu)師進(jìn)行,主要檢查設(shè)計(jì)、代碼內(nèi)容是否一致,有沒有夾帶的需求變更,有沒有走流程導(dǎo)致需求和代碼不一致。這種審計(jì)一般只在相關(guān)事件驅(qū)動時(shí)才需要。

綜上,配置管理的主要目的就是維護(hù)軟件開發(fā)最終產(chǎn)品,以及關(guān)鍵中間產(chǎn)品。不是什么過程輸出都管,所以要識別配置項(xiàng);關(guān)鍵工作產(chǎn)品大家得達(dá)成一致,所以有基線以及基線發(fā)布;過程中如有變更,得識別出配置項(xiàng)哪些被牽連需要同時(shí)變更,所以有變更管理。

有了現(xiàn)代配置管理工具,配置管理所需要的“管理“工作,其實(shí)已經(jīng)被技術(shù)手段減少了很多。這也是為什么,在華為,一個(gè)配置管理員可以支持四五百人的部門或團(tuán)隊(duì)。只要理解了配置管理的目的,團(tuán)隊(duì)事先約定好配置管理的規(guī)則和權(quán)限, 并不一定需要一個(gè)專職的”配置管理員“。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容