每一個(gè)軟件項(xiàng)目,無(wú)論是工程類項(xiàng)目,還是產(chǎn)品類項(xiàng)目,都必須經(jīng)歷需求分析、系統(tǒng)設(shè)計(jì)、編碼實(shí)現(xiàn)、集成測(cè)試、部署、交付、維護(hù)和支持的過(guò)程。在這個(gè)過(guò)程中,將生成各種各樣不同的工件,包括文檔、源程序、可執(zhí)行代碼、支持庫(kù)。更可怕的是,頻繁出現(xiàn)的變更是不可避免的,因此面向如此龐大且不斷變動(dòng)的信息集,如何使其有序、高效地存放、查找和利用就成為了一個(gè)突出的問(wèn)題。
針對(duì)這一問(wèn)題,最早的開(kāi)發(fā)人員嘗試過(guò)的解決辦法是通過(guò)手工來(lái)實(shí)現(xiàn):
1)文檔:每次修改時(shí)都另存為一個(gè)新的文件,然后通過(guò)文件名進(jìn)行區(qū)分,例如"XXX 軟件需求說(shuō)明書(shū)V1.0,XXX軟件需求說(shuō)明書(shū)V1.1,XXX 軟件需求說(shuō)明書(shū)V2.0.",并且在文件中注明每次版本變化的內(nèi)容;
2) 源代碼:每次要修改時(shí)就將整個(gè)工程目錄復(fù)制一份,將原來(lái)的文件夾進(jìn)行改名,例如"XX 項(xiàng)目V1.0、XX 項(xiàng)目1.01、.",然后在新的目錄中進(jìn)行修改;
但是這種方法,不僅十分繁瑣,容易出錯(cuò),而且會(huì)帶來(lái)大量的垃圾數(shù)據(jù)。如果是團(tuán)隊(duì)協(xié)同開(kāi)發(fā)或者是項(xiàng)目規(guī)模較大時(shí),還是會(huì)造成很大的混亂。很顯然,這樣簡(jiǎn)陋的方法是無(wú)法應(yīng)對(duì)這一問(wèn)題的。
后來(lái),有人嘗試從制造工業(yè)領(lǐng)域引入了"配置管理"這一概念,通過(guò)不懈的研究與實(shí)踐,最終形成了一套管理辦法和活動(dòng)原則,這也就是軟件配置管理。
通過(guò)軟件配置管理,將對(duì)軟件系統(tǒng)中的多重版本實(shí)施系統(tǒng)的管理;全面記載系統(tǒng)開(kāi)發(fā)的歷史過(guò)程,包括為什么修改,誰(shuí)作了修改,修改了什么;管理和追蹤開(kāi)發(fā)過(guò)程中危害軟件質(zhì)量以及影響開(kāi)發(fā)周期的缺陷和變化。并對(duì)開(kāi)發(fā)過(guò)程進(jìn)行有效地管理和控制,完整、明確地記載開(kāi)發(fā)過(guò)程中的歷史變更,形成規(guī)范化的文檔,不僅使日后的維護(hù)和升級(jí)得到保證,而且更重要的是,這還會(huì)保護(hù)寶貴的代碼資源,積累軟件財(cái)富,提高軟件重用率,加快投資回報(bào)。
常見(jiàn)的配置管理工具
正如前面所述,由于軟件配置管理過(guò)程十分繁雜,管理對(duì)象錯(cuò)綜復(fù)雜,如果是采用人工的辦法不僅費(fèi)時(shí)費(fèi)力,還容易出錯(cuò),產(chǎn)生大量的廢品。因此,引入一些自動(dòng)化工具是十分有裨益的,這也是做好配置管理的必要條件。
正是因?yàn)槿绱耍袌?chǎng)上出現(xiàn)了大量的自動(dòng)化配置管理工具,這些工具的實(shí)現(xiàn)原理與基本機(jī)制均十分接近,但由于其定位不同,因此各有特點(diǎn),下面我們就對(duì)一些常見(jiàn)的配置管理工具做一簡(jiǎn)單的介紹。
元老:CCC、SCCS、RCS
上個(gè)世紀(jì)七十年代初期加利福利亞大學(xué)的Leon Presser教授撰寫(xiě)了一篇論文,提出控制變更和配置的概念,之后在1975年,他成立了一家名為SoftTool的公司,開(kāi)發(fā)了自己的配置管理工具:CCC,這也是最早的配置管理工具之一。
在軟件配置管理工具發(fā)展史上,繼CCC之后,最具有里程碑式的是兩個(gè)自由軟件:Marc Rochkind 的SCCS (Source Code Control System) 和Walter Tichy 的RCS (Revision Control System),它們對(duì)配置管理工具的發(fā)展做出了重大的貢獻(xiàn),直到現(xiàn)在絕大多數(shù)配置管理工具基本上都源于它們的設(shè)計(jì)思想和體系架構(gòu)?! ?
中堅(jiān):Rational ClearCase
Rational 公司是全球最大的軟件CASE 工具提供商,現(xiàn)已被IBM收購(gòu)。也許是受到其拳頭產(chǎn)品、可視化建模第一工具Rose 的影響,它開(kāi)發(fā)的配置管理工具ClearCase 也是深受用戶的喜愛(ài),是現(xiàn)在應(yīng)用面最廣的企業(yè)級(jí)、跨平臺(tái)的配置管理工具之一。
ClearCase提供了比較全面的配置管理支持,其中包括版本控制、工作空間管理、Build管理等,而且開(kāi)發(fā)人員無(wú)需針對(duì)其改變現(xiàn)有的環(huán)境、工具和工作方式。
其最大的缺點(diǎn)就在于其價(jià)格不菲,每個(gè)客戶端用戶許可證大約需要幾千美金,所以在國(guó)內(nèi)應(yīng)用群體有限。
1) 版本控制
ClearCase不僅可以對(duì)文件、目錄、鏈接進(jìn)行版本控制,同時(shí)還提供了先進(jìn)的版本分支和歸本功能用于支持并行開(kāi)發(fā)。另外,它還支持廣泛的文件類型。
2)工作空間管理
可以為開(kāi)發(fā)人員提供私人存儲(chǔ)區(qū),同時(shí)可以實(shí)現(xiàn)成員之間的信息共享,從而為每一位開(kāi)發(fā)人員提供一致、靈活、可重用的工作空間域。
3) Build管理
對(duì)ClearCase 控制的數(shù)據(jù),既可以使用定制腳本,也可使用本機(jī)提供的make 程序。
其最大的缺點(diǎn)就在于其價(jià)格不菲,每個(gè)客戶端用戶許可證大約需要幾千美金,所以在國(guó)內(nèi)應(yīng)用群體有限?!?
新秀:Hansky Firefly
做為H a n s k y 公司軟件開(kāi)發(fā)管理套件中重要一員的Firefly,可以輕松管理、維護(hù)整個(gè)企業(yè)的軟件資產(chǎn),包括程序代碼和相關(guān)文檔。Firefly是一個(gè)功能完善、運(yùn)行速度極快的軟件配置管理系統(tǒng),可以支持不同的操作系統(tǒng)和多種集成開(kāi)發(fā)環(huán)境,因此它能在整個(gè)企業(yè)中的不同團(tuán)隊(duì),不同項(xiàng)目中得以應(yīng)用。
Firefly基于真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu),不依賴于任何特殊的網(wǎng)絡(luò)文件系統(tǒng),可以平滑地運(yùn)行在不同的LAN、WAN 環(huán)境中。它的安裝配置過(guò)程簡(jiǎn)單易用,F(xiàn)irefly 可以自動(dòng)、安全地保存代碼的每一次變化內(nèi)容,避免代碼被無(wú)意中覆蓋、修改。項(xiàng)目管理人員使用Firefly可以有效地組織開(kāi)發(fā)力量進(jìn)行并行開(kāi)發(fā)和管理項(xiàng)目中各階段點(diǎn)的各種資源,使得產(chǎn)品發(fā)布易于管理;并可以快速地回溯到任一歷史版本。系統(tǒng)管理員使用Firefly的內(nèi)置工具可以方便的進(jìn)行存儲(chǔ)庫(kù)的備份和恢復(fù),而不依賴于任何第三方工具?! ?br> 開(kāi)源奇葩:CVS
CVS 是Concurrent Versions System 的縮寫(xiě),它是開(kāi)放源代碼軟件世界的一個(gè)偉大杰作,由于其簡(jiǎn)單易用、功能強(qiáng)大,跨平臺(tái),支持并發(fā)版本控制,而且免費(fèi),它在全球中小型軟件企業(yè)中得到了廣泛使用。
其最大的遺憾就是缺少相應(yīng)的技術(shù)支持,許多問(wèn)題的解決需要自已尋找資料,甚至是讀源代碼?! ?br> 小工作組級(jí):Merant PVCS
MERANT 公司的PVCS 能夠提供對(duì)軟件配置管理的基本支持,通過(guò)使用其圖形界面或類似SCCS 的命令,能夠基本滿足小型項(xiàng)目開(kāi)發(fā)的配置管理需求。PVCS 雖然功能上也基本能夠滿足需求,但是其性能表現(xiàn)一直較差,逐漸地被市場(chǎng)所冷落。
入門(mén)級(jí):Microsoft Visual Source Safe
Visual Source Safe,即VSS,是微軟公司為Visual Studio配套開(kāi)發(fā)的一個(gè)小型的配置管理工具,準(zhǔn)確來(lái)說(shuō),它僅能夠稱得上是一個(gè)小型的版本控制軟件。VSS的優(yōu)點(diǎn)在于其與Visual Studio實(shí)現(xiàn)了無(wú)縫集成,使用簡(jiǎn)單。提供了歷史版本記錄、修改控制、文件比較、日志等基本功能。
但其缺點(diǎn)也是十分明顯的,只支持Windows平臺(tái),不支持并行開(kāi)發(fā),通過(guò)Check out - Modify - Check in的管理方式,一個(gè)時(shí)間只允許一個(gè)人修改代碼,而且速度慢、伸縮性差,不支持異地開(kāi)發(fā)。甚至于微軟本身也不采用其做為配置管理工具,而是使用一個(gè)名為SLM 的內(nèi)部工具。
如何選擇配置管理工具
面對(duì)這些形形色色,各有千秋的配置管理工具,如何根據(jù)組織特點(diǎn)、開(kāi)發(fā)團(tuán)隊(duì)需要,選擇切合適用的工具呢?筆者就結(jié)合工作實(shí)踐中的經(jīng)驗(yàn)與大家做一些交流與探討。
配置管理工具的選擇所需考慮的因素大體包括以下幾個(gè)因素:
功能是否符合實(shí)際需求?是否符合團(tuán)隊(duì)特點(diǎn)?性能是否滿意?費(fèi)用是否可以接受?售后服務(wù)如何?接下來(lái),我們就這幾方面逐一深入地探討:
1)功能是否符合實(shí)際需求,是否符合團(tuán)隊(duì)特點(diǎn)
工具就是用來(lái)幫助您解決問(wèn)題的,因此功能是否符合實(shí)際需求是最重要的判斷因素。而大多數(shù)主流配置管理工具的基本功能都能夠滿足,因此主要需要判斷以下幾個(gè)因素:
并行開(kāi)發(fā)支持
在團(tuán)隊(duì)協(xié)作開(kāi)發(fā)過(guò)程中,有兩種主要的模式:集體代碼權(quán)和個(gè)體代碼權(quán)。采用集體代碼權(quán)模式進(jìn)行開(kāi)發(fā)時(shí),一段代碼可能同時(shí)會(huì)被多個(gè)開(kāi)發(fā)人員同時(shí)修改;而采用個(gè)體代碼權(quán)模式進(jìn)行開(kāi)發(fā)時(shí),每一段代碼都始終被一個(gè)開(kāi)發(fā)人員獨(dú)享,別人需要修改時(shí)也會(huì)通過(guò)該開(kāi)發(fā)人員完成。
而配置管理軟件針對(duì)這一情況,也采用了不同的策略:Copy-Modify-Merge(拷貝、修改、合并) 的并行開(kāi)發(fā)模式、Check out-Modify-Check in(簽出、修改、簽入)的獨(dú)占開(kāi)發(fā)模式。在并行開(kāi)發(fā)模式下,開(kāi)發(fā)人員可以并行開(kāi)發(fā)、更改代碼,F(xiàn)irefly會(huì)自動(dòng)檢測(cè)到代碼沖突,并自動(dòng)合并,或提示開(kāi)發(fā)人員手動(dòng)解決。
表一、并行開(kāi)發(fā)支持比較表
工具名稱
|
說(shuō)明
|
ClearCase
|
Copy-Modify-Merge 模式
|
Firefly
|
Copy-Modify-Merge 模式
|
CVS
|
Copy-Modify-Merge 模式
|
PVCS
|
Check out-Modify-Check in 模式
|
VSS
|
Check out-Modify-Check in 模式
|
異地開(kāi)發(fā)支持 如果你的開(kāi)發(fā)團(tuán)隊(duì)分布在不同的開(kāi)發(fā)地點(diǎn),就需要對(duì)工具的異地開(kāi)發(fā)功能進(jìn)行仔細(xì)的評(píng)估了。大多數(shù)工具都提供基于Web的界面,用戶可以通過(guò)瀏覽器執(zhí)行配置管理的相關(guān)操作,而且有些工具就通過(guò)這樣的方法來(lái)實(shí)現(xiàn)對(duì)異地開(kāi)發(fā)的支持。
這種實(shí)現(xiàn)方法有太多的局限性,例如網(wǎng)絡(luò)(Internet)連接帶寬的限制、防火墻以及安全問(wèn)題等。真正意義上的異地開(kāi)發(fā)支持,是指在不同的開(kāi)發(fā)地點(diǎn)建立各自的存儲(chǔ)庫(kù),通過(guò)工具提供同步功能自動(dòng)或手動(dòng)同步。這樣做的好處是與網(wǎng)絡(luò)無(wú)關(guān),即便各個(gè)開(kāi)發(fā)地點(diǎn)之間沒(méi)有實(shí)時(shí)連通的網(wǎng)絡(luò),也可以通過(guò)E-Mail 附件等其它方式將同步包發(fā)給對(duì)方,實(shí)現(xiàn)手動(dòng)的同步。
表二異地開(kāi)發(fā)支持比較表
工具名稱
|
說(shuō)明
|
ClearCase
|
提供MultiSite 模塊,通過(guò)自動(dòng)或手動(dòng)同步位于不同開(kāi)發(fā)地點(diǎn)的存儲(chǔ)庫(kù)的方式,支持異地開(kāi)發(fā)
|
Firefly
|
提供ServerSync 模塊,通過(guò)自動(dòng)或手動(dòng)同步位于不同開(kāi)發(fā)地點(diǎn)的存儲(chǔ)庫(kù)的方式,支持異地開(kāi)發(fā)
|
CVS
|
無(wú)專門(mén)支持的模塊
|
PVCS
|
無(wú)專門(mén)支持的模塊
|
VSS
|
無(wú)專門(mén)支持的模塊
|
值得說(shuō)明的是,在不同開(kāi)發(fā)點(diǎn)建立各自存儲(chǔ)庫(kù)的方式,主要適用于兩個(gè)或兩個(gè)以上位于不同地點(diǎn)的開(kāi)發(fā)團(tuán)隊(duì)協(xié)作開(kāi)發(fā)的情況。如果僅是采用虛擬團(tuán)隊(duì)合作的方式,開(kāi)發(fā)人員以個(gè)體的形式散落在不同地方,則更適合通過(guò)Internet 直接操作遠(yuǎn)程的配置管理服務(wù)器。
跨平臺(tái)開(kāi)發(fā)支持 如果企業(yè)需要從事多個(gè)不同平臺(tái)下的開(kāi)發(fā)工作,就需要配置管理工具能夠?qū)缙脚_(tái)開(kāi)發(fā)提供支持,否則勢(shì)必會(huì)給開(kāi)發(fā)、測(cè)試、發(fā)布等各個(gè)環(huán)節(jié)帶來(lái)不便,將使大量的時(shí)間被浪費(fèi)于代碼的手工上傳、下載中。
表三跨平臺(tái)開(kāi)發(fā)支持比較表
工具名稱
|
說(shuō)明
|
ClearCase
|
支持常見(jiàn)的平臺(tái)
|
Firefly
|
軟件本身基于Java開(kāi)發(fā),可在Windows、Linux、Solaris、HP-UX、AIX等常見(jiàn)平臺(tái)上使用,平臺(tái)之間的移植也非常方便
|
CVS
|
支持幾乎所有的操作系統(tǒng)
|
PVCS
|
軟件本身基于Java 開(kāi)發(fā),能夠支持常見(jiàn)的平臺(tái)
|
VSS
|
僅支持Windows 操作系統(tǒng)
|
與開(kāi)發(fā)工具的集成性 配置管理工具與開(kāi)發(fā)工具是編碼過(guò)程中最常用到兩種工具,因此它們之間的集成性直接影響到開(kāi)發(fā)人員的便利性,如果無(wú)法良好集成,開(kāi)發(fā)人員將不可避免地在配置管理工具與開(kāi)發(fā)工具之間來(lái)回切換。
表四與開(kāi)發(fā)工具集成性比較表
工具名稱
|
說(shuō)明
|
ClearCase
|
直接與資源管理器集成,十分易用
|
Firefly
|
與常見(jiàn)開(kāi)發(fā)工具無(wú)縫集成
|
CVS
|
對(duì)開(kāi)發(fā)工具集成性較差
|
PVCS
|
僅支持Windows 操作系統(tǒng)
|
VSS
|
與Visual Studio開(kāi)發(fā)工具包無(wú)縫連接,其它開(kāi)發(fā)工具集成性差
|
2)性能是否滿意 配置管理工具軟件的一些性能指標(biāo)對(duì)于最終的選擇也有著至關(guān)重要的影響。
運(yùn)行性能
如果開(kāi)發(fā)團(tuán)隊(duì)規(guī)模不大的情況下,配置管理工具軟件的性能不會(huì)造成很大影響,但如果項(xiàng)目規(guī)模比較大,團(tuán)隊(duì)成員逐漸增多的情況下,其運(yùn)行性能就會(huì)帶來(lái)很大的影響。
表五運(yùn)行性能比較表
工具名稱
|
說(shuō)明
|
ClearCase
|
服務(wù)器采用多進(jìn)程機(jī)制,使用自帶多版本文件系統(tǒng)MVFS,對(duì)性能有較大負(fù)面影響。做為一款企業(yè)級(jí)、全面的開(kāi)發(fā)配置管理工具,適用于大型開(kāi)發(fā)團(tuán)隊(duì)
|
Firefly
|
服務(wù)器采用了多線程的應(yīng)用服務(wù)器,性能表現(xiàn)優(yōu)秀,做為一款企業(yè)級(jí)、全面的開(kāi)發(fā)配置管理,能適用于50人到上千人的團(tuán)隊(duì)
|
CVS
|
較高的運(yùn)行性能,適用于各種級(jí)別的開(kāi)發(fā)團(tuán)隊(duì)
|
PVCS
|
服務(wù)器采用文件系統(tǒng)共享方式,對(duì)CPU、內(nèi)存及網(wǎng)絡(luò)要求較高,性能一般,僅適用于中小型項(xiàng)目團(tuán)隊(duì),不適合于企業(yè)級(jí)應(yīng)用
|
VSS
|
相對(duì)功能單一、簡(jiǎn)陋,適用于幾個(gè)人的小型團(tuán)隊(duì),在數(shù)據(jù)量不大的情況下,性能可以接受
|
易用性 表六易用性比較表
工具名稱
|
說(shuō)明
|
ClearCase
|
安裝、配置、使用相對(duì)較復(fù)雜,需要進(jìn)行團(tuán)隊(duì)培訓(xùn)
|
Firefly
|
在提供全面配置管理功能的情況下,安裝、配置、使用較為簡(jiǎn)單,包括安裝、配置、培訓(xùn)在內(nèi)的整個(gè)實(shí)施周期一般不會(huì)超過(guò)一個(gè)月。
|
CVS
|
安裝、配置較復(fù)雜,但使用比較簡(jiǎn)單,只需對(duì)配置管理做簡(jiǎn)單培訓(xùn)即可
|
PVCS
|
使用比較簡(jiǎn)單,只需對(duì)配置管理做簡(jiǎn)單培訓(xùn)即可
|
VSS
|
安裝、配置、使用均較簡(jiǎn)單,很容易上手使用
|
從用戶界面、與開(kāi)發(fā)工具的集成性角度來(lái)說(shuō),這幾款主流的配置管理軟件均有較好的設(shè)計(jì),均有較好的易用性。
安全性 表七安全性比較表
工具名稱
|
說(shuō)明
|
ClearCase
|
采用C/S模式,需要共享服務(wù)器上的存儲(chǔ)目錄以供客戶端訪問(wèn),這將帶來(lái)一定安全隱患
|
Firefly
|
服務(wù)器上的存儲(chǔ)目錄不用共享,對(duì)客戶端不透明,客戶端不可直接訪問(wèn)存儲(chǔ)目錄,使系統(tǒng)更安全可靠
|
CVS
|
采用C/S 模式,不需要共享服務(wù)器上的存儲(chǔ)目錄,安全性較好
|
PVCS
|
基于文件系統(tǒng)共享,而且需要以"可寫(xiě)"的權(quán)限共享存儲(chǔ)目錄,存在較大的安全隱患
|
VSS
|
基于文件系統(tǒng)共享實(shí)現(xiàn)對(duì)服務(wù)器的訪問(wèn),需要共享存儲(chǔ)目錄,這將帶來(lái)一定安全隱患
|
3)費(fèi)用是否可以接受 Rational ClearCase、Hansky Firefly 兩款均屬于企業(yè)級(jí)配置管理工具軟件,ClearCase價(jià)格較貴,,相比之下Hansky Firefly 是一款不錯(cuò)的選擇。
而PVCS其價(jià)格大約是每客戶端幾百美元的水平,對(duì)于國(guó)內(nèi)企業(yè)來(lái)說(shuō),性價(jià)比不太劃算。VSS 是微軟打包在Visual Studio開(kāi)發(fā)工具包之中的,顯然花費(fèi)的精力不大,價(jià)格也比較便宜,可以做為個(gè)人、小項(xiàng)目團(tuán)隊(duì)版本控制之用。
而CVS則是一款完全免費(fèi)的開(kāi)源軟件,性能較之企業(yè)級(jí)配置管理工具差距不大,也是一種不錯(cuò)的選擇。
4) 售后服務(wù)如何 表八售后服務(wù)比較表
工具名稱
|
說(shuō)明
|
ClearCase
|
大型商用軟件,已被IBM公司收購(gòu),但國(guó)內(nèi)市場(chǎng)拓展有限,因此服務(wù)支持會(huì)受到限制?,F(xiàn)在中國(guó)用戶的支持是由位于澳大利亞悉尼的支持中心聯(lián)系
|
Firefly
|
大型商用軟件,已在中國(guó)成立分公司,全面拓展市場(chǎng)之中,在北京設(shè)有支持中心
|
CVS
|
做為開(kāi)源軟件,無(wú)官方支持,需要用戶自己查找資料解決技術(shù)問(wèn)題,現(xiàn)在也出現(xiàn)專門(mén)為CVS做技術(shù)支持的公司
|
PVCS
|
在中國(guó)市場(chǎng)開(kāi)拓有限,國(guó)內(nèi)沒(méi)有支持中心
|
VSS
|
做為微軟的非核心產(chǎn)品,技術(shù)支持有限。在其網(wǎng)站上有提供一些常見(jiàn)問(wèn)題,只有對(duì)正式購(gòu)買(mǎi)的用戶提供一定的技術(shù)支持
|
售后服務(wù)與產(chǎn)品支持也是一個(gè)很重要的考察點(diǎn),工具在使用過(guò)程中出現(xiàn)這樣那樣的問(wèn)題是很平常的事,有些是因?yàn)槭褂貌划?dāng),有些則是工具本身的缺陷。這些問(wèn)題都會(huì)直接影響到開(kāi)發(fā)團(tuán)隊(duì)的使用,因此隨時(shí)能夠找到專業(yè)技術(shù)人員解決這些問(wèn)題就變成十分重要。
實(shí)例說(shuō)明
最后,筆者介紹幾個(gè)實(shí)際的案例,希望對(duì)大家選擇軟件配置管理工具軟件有幫助。
案例一 某公司擁有10 名專職開(kāi)發(fā)人員以及一些兼職的開(kāi)發(fā)人員,主要從事Windows和Linux 平臺(tái)下的軟件開(kāi)發(fā),采用的工具包括Visual Studio 系列、GCC 等。為了能夠加強(qiáng)版本控制與配置管理工作,決定引入一些自動(dòng)化配置管理工具。
經(jīng)過(guò)慎重的選擇,采用了兩步走的方法:
1) 首先采用了Visual Studio 軟件包中的VSS做為配置管理工具;
由于VSS安裝、配置、操作都十分簡(jiǎn)單,上手容易,這樣在執(zhí)行配置管理的過(guò)程中,工具的培訓(xùn)沒(méi)有帶來(lái)太大的阻力,大家可以集中精力理解配置管理。這樣很快就在團(tuán)隊(duì)中形成了版本控制、配置管理的氛圍與習(xí)慣。
2) 然后構(gòu)建了CVS服務(wù)器,做為整個(gè)開(kāi)發(fā)組織的配置管理工具;
CVS 能夠有效地支援Windows、Linux 兩個(gè)平臺(tái)上的應(yīng)用開(kāi)發(fā),其性能優(yōu)秀,而且免費(fèi),另外,它對(duì)于兼職人員的配置管理十分有效。采用CVS 至今,效果明顯,除了功能、使用上有些不方便之處外,沒(méi)有出過(guò)任何大問(wèn)題。
案例二 北京某公司擁用230名專職開(kāi)發(fā)人員,長(zhǎng)期從事金融業(yè)務(wù)的開(kāi)發(fā),隨著業(yè)務(wù)的良性發(fā)展,在管理上也出現(xiàn)了一些不足:
1) 開(kāi)發(fā)管理溝通滯后,開(kāi)發(fā)人員孤立操作,變更和維護(hù)信息無(wú)法實(shí)時(shí)反饋;
2) 主管領(lǐng)導(dǎo)對(duì)所開(kāi)發(fā)的100 多種產(chǎn)品的項(xiàng)目開(kāi)發(fā)進(jìn)程不能及時(shí)了解,很多資源滯留在個(gè)人手中;
3) 隨著產(chǎn)品的需求日益增加,無(wú)法快速標(biāo)識(shí)和查找軟件的歷史版本;
4) 無(wú)法對(duì)處于不同開(kāi)發(fā)平臺(tái)上的項(xiàng)目進(jìn)行統(tǒng)一管理和資源配置;
5) 無(wú)法實(shí)現(xiàn)異地開(kāi)發(fā)團(tuán)隊(duì)的協(xié)調(diào)和溝通。
因此,該公司決定引入軟件配置管理,在配置管理工具軟件的選擇上,考慮到其人員規(guī)模較大,項(xiàng)目較多,工作復(fù)雜,在針對(duì)可靠性、易用性、穩(wěn)定性、安全性、技術(shù)支持能力以及軟件的各功能進(jìn)行了仔細(xì)的綜合評(píng)估后,最后選擇了國(guó)內(nèi)技術(shù)支持較到位的Hansky Firefly 軟件配置工具軟件。
在采用了Hansky Firefly 之后,有效地解決了這些問(wèn)題,還幫助其順利地通過(guò)了CMM 2級(jí)認(rèn)證,為企業(yè)的進(jìn)一步發(fā)展打下了堅(jiān)實(shí)的基礎(chǔ)。