當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 建筑OA系統(tǒng) > 工程項(xiàng)目管理軟件系統(tǒng)
項(xiàng)目管理綜合管理:軟件配置管理
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
在筆者進(jìn)行CMMI咨詢時(shí),當(dāng)問及軟件技術(shù)人員什么是“配置管理”的時(shí)候,很多人的回答就是“版本管理”,而且很多人都會(huì)說出各種各樣的版本管理工具,例如:VSS、TFS、CVS或SVN等等。但這樣的回答是不正確、不全面的。版本管理只是軟件配置管理的一個(gè)小的部分,在CMMI中配置管理分為 “配置項(xiàng)和基線的管理”、“變更控制管理”和“基線的完整性”三個(gè)部分。 凡是提到軟件“配置管理”(Configuration Management),我會(huì)先給它下個(gè)定義:“它是軟件工程的核心部分,是CMMI中最基礎(chǔ)的PA”。為什么它會(huì)如此重要呢?首先配置管理的工作就是確保軟件項(xiàng)目時(shí)時(shí)保持條理清晰,隨時(shí)想要任何工作產(chǎn)品都可以迅速找到,并且工作產(chǎn)品的內(nèi)容不會(huì)出錯(cuò),這也就是大家常講的可回溯性、完整性和正確性;其次軟件配置管理活動(dòng)始終貫穿整個(gè)軟件項(xiàng)目的生命周期。因此說軟件配置管理是最基礎(chǔ)、最核心的管理工作一點(diǎn)都不夸張。(一) 軟件配置項(xiàng)
在CMMI的“配置管理”過程域CM中SP1.1首先提到的就是“配置項(xiàng)”的概念,在大家開展配置管理工作前應(yīng)該先識(shí)別哪些是本項(xiàng)目的配置項(xiàng)。“配置項(xiàng)”就是配置管理的對(duì)象,簡(jiǎn)單來講它符合以下任意一個(gè)特點(diǎn):
1、 它會(huì)被兩個(gè)或兩個(gè)以上的項(xiàng)目成員共同使用。
2、 它會(huì)隨著項(xiàng)目的開展而發(fā)生變化。
3、 對(duì)項(xiàng)目重要的工作產(chǎn)品。
4、 一些工作產(chǎn)品之間的關(guān)系非常緊密,一個(gè)變化其他的就會(huì)受到影響。
通過以上定義大家會(huì)發(fā)現(xiàn)項(xiàng)目中的很多東西都屬于配置項(xiàng),例如:各種需求文檔、設(shè)計(jì)文檔等都會(huì)經(jīng)常變更;程序的代碼是大家共享的,而且代碼文件之間又有較高的相互依賴性。那大家也許會(huì)發(fā)現(xiàn)還有一些工作產(chǎn)品不符合以上定義,例如:各種周報(bào)、會(huì)議記錄等。這些也是配置項(xiàng)嗎?很顯然,它們不符合以上特點(diǎn),那么這些工作產(chǎn)品就不屬于配置項(xiàng)的范圍,但有時(shí)在進(jìn)行CMMI實(shí)施時(shí),項(xiàng)目組也往往會(huì)將其一并進(jìn)行管理。 既然配置項(xiàng)是“配置管理”的基礎(chǔ),那么大家還需要給每一個(gè)配置項(xiàng)起一個(gè)唯一標(biāo)識(shí),這樣才能夠做到清晰不混淆。舉個(gè)例子:“今晚大家一起出去聚餐,到中山一路的‘東北人’吃飯”,這里的‘東北人’餐廳是特指中山一路的,因此這唯一確定了就餐的地點(diǎn);“我們訂的包房叫‘靠山屯’”,這里具體的就餐房間也被唯一標(biāo)識(shí)了出來,是‘靠山屯’而不是‘瘦狗嶺’;服務(wù)員拿來的菜單上每個(gè)菜的名字也是唯一的,這樣送上來的菜就不會(huì)重樣,當(dāng)我們吃完結(jié)賬的時(shí)候就不會(huì)算錯(cuò)價(jià)錢,這些都是典型的唯一標(biāo)識(shí)配置項(xiàng)的例子。假如配置項(xiàng)沒有被唯一識(shí)別出來,那么大家去聚會(huì)就會(huì)找錯(cuò)地方,點(diǎn)的菜也可能會(huì)上錯(cuò),結(jié)賬的時(shí)候也可能會(huì)算錯(cuò),那么將是一團(tuán)糟,因此在項(xiàng)目管理中一定要將識(shí)別配置項(xiàng)重視起來。配置項(xiàng)本身的變化可以使用“版本管理”對(duì)其進(jìn)行控制。通常像大家的程序代碼已經(jīng)被各種版本管理工具進(jìn)行控制,但大家千萬(wàn)不要忘記對(duì)文檔也要進(jìn)行版本管理。
(二) 軟件的基線
前面提到“配置項(xiàng)”的其中一個(gè)定義就是“配置項(xiàng)可能會(huì)隨著項(xiàng)目的開展而發(fā)生變化”,那么單個(gè)的配置項(xiàng)是通過版本管理工具進(jìn)行管理的,每次變化都會(huì)產(chǎn)生一個(gè)新的版本號(hào)。但是對(duì)于一組配置項(xiàng)該如何進(jìn)行管理呢?根據(jù)CMMI配置管理過程域的SP1.3中的要求,這就需要使用基線管理的方法。簡(jiǎn)單來講就是將一組配置項(xiàng)拿“線”穿起來作為一個(gè)整體進(jìn)行統(tǒng)一命名,并將其作為一個(gè)新的配置項(xiàng)進(jìn)行管理。在上面聚餐的例子中,最后結(jié)賬時(shí)的賬單就是一條基線,它將所有菜肴集中起來一起買單。
(三) 配置庫(kù)的劃分
配置庫(kù)就是指各種版本管理工具所創(chuàng)建的用于管理配置項(xiàng)的數(shù)據(jù)庫(kù),也就是大家常用的VSS或CVS等工具創(chuàng)建的數(shù)據(jù)庫(kù)或文檔庫(kù)。筆者在以往進(jìn)行的CMMI咨詢時(shí)常常發(fā)現(xiàn)項(xiàng)目組對(duì)配置庫(kù)的目錄結(jié)構(gòu)沒有進(jìn)行功能的劃分,為了確保項(xiàng)目永遠(yuǎn)不會(huì)出現(xiàn)混淆,簡(jiǎn)單來說按照權(quán)限應(yīng)該將配置庫(kù)劃分為三大類:
1、 開發(fā)庫(kù)
2、 受控庫(kù)
3、 基線庫(kù)
各種控制庫(kù)的劃分是根據(jù)其訪問權(quán)限來定義的,在沒有進(jìn)行CMMI認(rèn)證的公司,通常項(xiàng)目組的配置庫(kù)只起到“開發(fā)庫(kù)”的作用。以CMMI配置管理SP1.2中的理論為依據(jù),“開發(fā)庫(kù)”對(duì)項(xiàng)目組成員具有比較寬松的“CheckIn”和“CheckOut”的權(quán)限。不會(huì)給大家的工作帶來不便,根據(jù)大家的需要隨時(shí)都可以對(duì)其保管的配置項(xiàng)進(jìn)行各種操作?!笆芸貛?kù)”對(duì)項(xiàng)目組成員來說是沒有“CheckIn”和“CheckOut”的權(quán)限的。對(duì)“受控庫(kù)”的操作只能由配置管理員來完成。因?yàn)槭芸貛?kù)中存放的是等待評(píng)審的文檔或待測(cè)試的程序。假如有份文檔要送去評(píng)審,會(huì)議的主持人已經(jīng)將其進(jìn)行了分發(fā),可是這份文檔卻保存在“開發(fā)庫(kù)”中,如果這時(shí)被別人修改了,那么之前所分發(fā)的文檔就是舊的,那隨后的評(píng)審也就沒有意義了,這就是“受控庫(kù)”存在的意義。“基線庫(kù)”就是對(duì)“受控庫(kù)”中通過驗(yàn)證的工作產(chǎn)品所形成的基線進(jìn)行統(tǒng)一管理,并且新的基線將按照要求發(fā)送給項(xiàng)目的相關(guān)人員并與其分享項(xiàng)目的狀態(tài)和信息。大家回想一下以往發(fā)布給客戶的版本是否可以找到全部的程序和文檔,如果找不到那就請(qǐng)從現(xiàn)在開始使用“基線庫(kù)”進(jìn)行管理吧:)
(四) 軟件變更管理軟件開發(fā)項(xiàng)目經(jīng)常出現(xiàn)變更,但大家千萬(wàn)不要對(duì)項(xiàng)目中的變更產(chǎn)生恐懼,在項(xiàng)目管理的先進(jìn)理念中“變化是永恒的,不變是短暫的”,“沒有計(jì)劃就沒有變化”。大家應(yīng)該正視軟件變更的存在,它是軟件世界中客觀存在的一種現(xiàn)象,就像初一、十五大海的潮汐一樣。在CMMI配置管理的SP2.1中就變更管理的流程和規(guī)范進(jìn)行了定義。
軟件變更的起因?yàn)槭裁磿?huì)出現(xiàn)軟件變更呢?這要從軟件項(xiàng)目的性質(zhì)出發(fā)進(jìn)行探討。PMP定義的項(xiàng)目特點(diǎn)是“臨時(shí)性”和“獨(dú)特性”,大家就算把已經(jīng)完成的項(xiàng)目重新再做一遍,其過程也不可能是一模一樣的。其實(shí)軟件開發(fā)就是將客戶腦子里主觀的思想轉(zhuǎn)換為客觀的代碼行,主觀的東西都是虛無縹緲的,根據(jù)人的意識(shí)會(huì)經(jīng)常改變的;另外軟件開發(fā)就是將企業(yè)的最佳實(shí)踐轉(zhuǎn)化為客觀的產(chǎn)品,接受需求調(diào)研的客戶一般都是他們行業(yè)中的佼佼者,他的思想就是企業(yè)的最佳實(shí)踐,這些最佳實(shí)踐也許連他的同事都不一定完全理解,何況是我們這些做軟件開發(fā)的技術(shù)人員。通過以上軟件開發(fā)項(xiàng)目的特點(diǎn)進(jìn)行分析,大家應(yīng)該也理解了為什么軟件開發(fā)會(huì)有那么多的變更了吧。除了應(yīng)該理解變更的起因外,還應(yīng)該讓我們的客戶對(duì)變更的起因有所認(rèn)識(shí),做到大家互相理解,和諧的項(xiàng)目才是共贏的。另外大家不要以為變更給項(xiàng)目帶來很多麻煩,有時(shí)變更也會(huì)為項(xiàng)目帶來效益,技術(shù)的革新就是一種特殊的變更,在我國(guó)實(shí)現(xiàn)現(xiàn)代化建設(shè)的過程中不知道有多少技術(shù)革新為國(guó)家?guī)砘蛲旎財(cái)?shù)以億計(jì)的財(cái)富,在我們的軟件項(xiàng)目中一些新的技術(shù)或架構(gòu),也一樣會(huì)減少項(xiàng)目的開發(fā)周期和成本。
軟件變更的必要性變更會(huì)有其相應(yīng)的流程,有流程就會(huì)有工作量,有人會(huì)覺得變更太麻煩沒有必要,在筆者進(jìn)行CMMI咨詢時(shí)往往推薦兩種級(jí)別的變更:“一般變更”和“重大變更”?!爸卮笞兏背V咐锍瘫难诱`、項(xiàng)目組成員的變化、項(xiàng)目成本的變化,具體每種變化有多大才算是重大變更呢?這就要針對(duì)不同公司的不同情況來定義。為什么重大變更沒有定義軟件范圍也就是需求的變更呢?因?yàn)樾枨蟮淖兏梢酝ㄟ^項(xiàng)目里程碑的延誤或項(xiàng)目成本的增加來判斷。重大變革要走正規(guī)的變更流程,并且要通過“變更控制委員會(huì)”CCB的評(píng)審?fù)ㄟ^后才能實(shí)施。除了“重大變更”以外的都屬于“一般變更”,例如項(xiàng)目進(jìn)度雖然有延遲,但是不會(huì)影響項(xiàng)目里程碑?!耙话阕兏辈辉傩枰狢CB的評(píng)審,項(xiàng)目負(fù)責(zé)人就可以全權(quán)處理。通過對(duì)變更級(jí)別的劃分,給項(xiàng)目負(fù)責(zé)人一定的權(quán)利,這樣項(xiàng)目變更就不會(huì)讓人覺得繁瑣了??荚嚧筇峁?BR> (五) 配置管理的審計(jì)
配置審計(jì)的目的是配置管理員要確保配置庫(kù)中的配置項(xiàng)和基線的完整性和正確性,這就是CMMI配置管理SP3.2所提到的概念。在“開發(fā)庫(kù)”中的配置項(xiàng)是不需要進(jìn)行審計(jì)的,一旦帶有缺陷的配置項(xiàng)進(jìn)入“受控庫(kù)”或“基線庫(kù)”,那么將會(huì)給項(xiàng)目帶來不小的負(fù)面影響。配置管理的審計(jì)分為“物理審計(jì)”和“功能審計(jì)”兩種。
“物理審計(jì)”比較簡(jiǎn)單,配置管理員只需根據(jù)項(xiàng)目組提交的“入庫(kù)清單”逐一檢查文檔或程序是否存在,命名規(guī)則是否符合規(guī)范既可。
“功能審計(jì)”的理解會(huì)相對(duì)比較復(fù)雜一點(diǎn),“功能審計(jì)”是對(duì)配置項(xiàng)的內(nèi)容是否正確進(jìn)行檢查。但配置管理員有可能是不懂技術(shù)的,那么他將如何開展功能審計(jì)呢?進(jìn)入“受控庫(kù)”或“基線庫(kù)”的文檔肯定是經(jīng)過并通過評(píng)審的,代碼程序也肯定要經(jīng)過并通過測(cè)試的,因此配置管理員可以利用這些驗(yàn)證的結(jié)果來間接對(duì)其入庫(kù)的內(nèi)容進(jìn)行檢查。這樣配置管理員就可以保證其功能的正確。
(六) 總結(jié)
通過以上內(nèi)容的介紹,相信大家應(yīng)該對(duì)CMMI配置管理的概念和重點(diǎn)有所認(rèn)識(shí)了。配置管理工作是貫穿整個(gè)項(xiàng)目生命周期的核心工作之一,只有利用配置管理的理論把項(xiàng)目條理化、清晰化,那么才能開展例如需求、設(shè)計(jì)、開發(fā)、測(cè)試等其他工作。通過本篇文章筆者希望大家知道什么是配置項(xiàng)和基線,配置庫(kù)是如何劃分的,為什么軟件項(xiàng)目會(huì)有變更,同時(shí)我們也要正視和接受變更的存在,以及配置管理員是如何進(jìn)行功能和物理審計(jì)的。
- 1GPS控制測(cè)量
- 2某住宅樓變配電室安裝工程施工組織設(shè)計(jì)
- 3東莞市2015年安全工程師考試報(bào)考條件
- 4建筑工程地下室工程施工圖文解讀(139頁(yè) 附圖多)
- 5哈瑞?西德爾
- 6淺析施工項(xiàng)目管理的目標(biāo)和任務(wù)
- 7三明沙縣民用機(jī)場(chǎng)總體(實(shí)施)施工組織設(shè)計(jì)
- 8監(jiān)理工程師考試《建設(shè)工程質(zhì)量控制》復(fù)習(xí)重點(diǎn)(25)
- 9【碩士】基于財(cái)務(wù)分析的工程項(xiàng)目過程控制研究
- 10固定資產(chǎn)折舊
- 11招標(biāo)師項(xiàng)目管理與招標(biāo)采購(gòu)精講精練題(13)
- 12我國(guó)建筑施工安全管理分析
- 132015年監(jiān)理工程師《質(zhì)量控制》每日一練(1.24)
- 14海南省2015年度一級(jí)建造師考試報(bào)考條件
- 15地面空鼓原因及治理措施
- 16剪力墻結(jié)構(gòu)(高層住宅)施工組織設(shè)計(jì)156p
- 17園林景觀照明施工心得淺談 23P
- 18大宗建筑材料驗(yàn)收要點(diǎn)(鋼筋、砌塊、混凝土、模板)
- 19垃圾焚燒爐與余熱鍋爐配置一些問題的探討
- 20上海建工承建的特多庫(kù)瓦兒童醫(yī)院項(xiàng)目結(jié)構(gòu)封頂
- 21給排水采曖燃?xì)夤こ淌┕し桨?/a>
- 22關(guān)于招標(biāo)代理機(jī)構(gòu)的說法,錯(cuò)誤的是
- 23【碩士】扣件式鋼管模板支撐體系動(dòng)力特性及動(dòng)力穩(wěn)定性研究
- 24商品混凝土攪拌站水泥倉(cāng)除塵設(shè)備的技術(shù)革新
- 25論中國(guó)農(nóng)業(yè)合作制度變遷的格局與方向
- 26淺談施工項(xiàng)目管理中的商務(wù)溝通
- 27監(jiān)理工程師考試《建設(shè)工程監(jiān)理案例分析》復(fù)習(xí)指導(dǎo)(15)
- 28安置住房項(xiàng)目工程施工組織設(shè)計(jì)428p
- 29建設(shè)節(jié)約型城市綠地景觀的探討
- 30北京某工程施工技術(shù)交底(78個(gè))
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓