軟件配置管理(Software Configuration Management,SCM)作為CMM 2級(jí)的一個(gè)關(guān)鍵域(Key Practice Area,KPA),在整個(gè)軟件的開(kāi)發(fā)活動(dòng)中占有很重要的位置。正如Pressman所說(shuō)的:“軟件配置管理是貫穿于整個(gè)軟件過(guò)程中的保護(hù)性活動(dòng),它被設(shè)計(jì)來(lái)(1)標(biāo)識(shí)變化,(2)控制變化,(3)保證變化被適當(dāng)?shù)陌l(fā)現(xiàn),以及(4)向其他可能有興趣的人員報(bào)告變化。” 所以,我們必須為軟件配置管理活動(dòng)設(shè)計(jì)一個(gè)能夠融合于現(xiàn)有的軟件開(kāi)發(fā)流程的管理過(guò)程,甚至直接以這個(gè)軟件配置管理過(guò)程為框架,來(lái)再造組織的軟件開(kāi)發(fā)流程。 一、迅速發(fā)展的軟件配置管理 配置管理的概念源于美國(guó)空軍,為了規(guī)范設(shè)備的設(shè)計(jì)與制造,美國(guó)空軍1962年制定并發(fā)布了第一個(gè)配置管理的標(biāo)準(zhǔn)“AFSCM375-1,CM During the Development & Acquisition Phases”。 而軟件配置管理概念的提出則在20世紀(jì)60年代末70年代初。當(dāng)時(shí)加利福利亞大學(xué)圣巴巴拉分校的Leon Presser教授在承擔(dān)美國(guó)海軍的航空發(fā)動(dòng)機(jī)研制合同期間,撰寫(xiě)了一篇名為“Change and Configuration Control”的論文,提出控制變更和配置的概念,這篇論文同時(shí)也是他在管理該項(xiàng)目(這個(gè)過(guò)程進(jìn)行過(guò)近一千四百萬(wàn)次修改)的一個(gè)經(jīng)驗(yàn)總結(jié)。 Leon Presser在1975年成立了一家名為SoftTool的公司,開(kāi)發(fā)了配置管理工具:Change and Configuration Control(CCC),這是最早的配置管理工具之一。 隨著軟件工程的發(fā)展,軟件配置管理越來(lái)越成熟,從最初的僅僅實(shí)現(xiàn)版本控制,發(fā)展到現(xiàn)在的提供工作空間管理、并行開(kāi)發(fā)支持、過(guò)程管理、權(quán)限控制、變更管理等一系列全面的管理能力,已經(jīng)形成了一個(gè)完整的理論體系。同時(shí)在軟件配置管理的工具方面,也出現(xiàn)了大批的產(chǎn)品,如:最著名的ClearCase;開(kāi)源產(chǎn)品CVS;入門級(jí)工具M(jìn)icrosoft VSS;新秀Hansky Firefly。 在國(guó)外已經(jīng)有30多年歷史的軟件配置管理,但在國(guó)內(nèi)的發(fā)展卻是在21世紀(jì)這幾年的事。但是通過(guò)專家們的介紹,我們感受到,國(guó)內(nèi)的軟件配置管理已經(jīng)取得了迅速發(fā)展,并得到了軟件公司的普遍認(rèn)可。 二、軟件配置管理的基本目標(biāo) 軟件配置管理是在貫穿整個(gè)軟件生命周期中建立和維護(hù)項(xiàng)目產(chǎn)品的完整性。它的基本目標(biāo)包括: 目標(biāo) 1: 軟件配置管理的各項(xiàng)工作是有計(jì)劃進(jìn)行的。 三、XSSC有關(guān)軟件配置管理的方針 為了達(dá)到上述目標(biāo), 如下的方針應(yīng)該得到貫徹執(zhí)行: 技術(shù)部門經(jīng)理和具體項(xiàng)目主管應(yīng)該使用和遵循XSSC的OSSP中所描述的軟件配置管理的工作過(guò)程。 四、常用的軟件配置管理工具 現(xiàn)在常用的軟件配置管理工具主要分為三個(gè)級(jí)別: l Rational ClearCase,CA CCC/Havest 五.軟件配置管理角色職責(zé) 對(duì)于任何一個(gè)管理流程來(lái)說(shuō),保證該流程正常運(yùn)轉(zhuǎn)的前提條件就是要有明確的角色、職責(zé)和權(quán)限的定義。特別是在引入了軟件配置管理的工具之后,比較理想的狀態(tài)就是:組織內(nèi)的所有人員按照不同的角色的要求、根據(jù)系統(tǒng)賦予的權(quán)限來(lái)執(zhí)行相應(yīng)的動(dòng)作。因此,在本文所介紹的這個(gè)軟件配置管理過(guò)程中主要涉及下列的角色和分工: 項(xiàng)目經(jīng)理(Project Manager,PM): 項(xiàng)目經(jīng)理是整個(gè)軟件研發(fā)活動(dòng)的負(fù)責(zé)人,他根據(jù)軟件配置控制委員會(huì)的建議批準(zhǔn)配置管理的各項(xiàng)活動(dòng)并控制它們的進(jìn)程。其具體職責(zé)為以下幾項(xiàng): 配置控制委員會(huì)(Configuration Control Board,CCB): 負(fù)責(zé)指導(dǎo)和控制配置管理的各項(xiàng)具體活動(dòng)的進(jìn)行,為項(xiàng)目經(jīng)理的決策提供建議。其具體職責(zé)為以下幾項(xiàng): 配置管理員(Configuration Management Officer,CMO): 根據(jù)配置管理計(jì)劃執(zhí)行各項(xiàng)管理任務(wù),定期向CCB提交報(bào)告,告,并列席CCB的例會(huì)。其具體職責(zé)為以下幾項(xiàng): 系統(tǒng)集成員(System Integration Officer,SIO): 開(kāi)發(fā)人員(Developer,DEV): 開(kāi)發(fā)人員的職責(zé)就是根據(jù)組織內(nèi)確定的軟件配置管理計(jì)劃和相關(guān)規(guī)定,按照軟件配置管理工具的使用模型來(lái)完成開(kāi)發(fā)任務(wù)。 六.軟件配置管理過(guò)程描述 一個(gè)軟件研發(fā)項(xiàng)目一般可以劃分為三個(gè)階段:計(jì)劃階段、開(kāi)發(fā)階段和維護(hù)階段。然而從軟件配置管理的角度來(lái)看,后兩個(gè)階段所涉及的活動(dòng)是一致,所以就把它們合二為一,成為“項(xiàng)目開(kāi)發(fā)和維護(hù)”階段。 項(xiàng)目計(jì)劃階段: 一個(gè)項(xiàng)目設(shè)立之初PM首先需要制定整個(gè)項(xiàng)目的計(jì)劃,它是項(xiàng)目研發(fā)工作的基礎(chǔ)。在有了總體研發(fā)計(jì)劃之后,軟件配置管理的活動(dòng)就可以展開(kāi)了,因?yàn)槿绻辉陧?xiàng)目開(kāi)始之初制定軟件配置管理計(jì)劃,那么軟件配置管理的許多關(guān)鍵活動(dòng)就無(wú)法及時(shí)有效的進(jìn)行,而它的直接后果就是造成了項(xiàng)目開(kāi)發(fā)狀況的混亂并注定軟件配置管理活動(dòng)成為一種“救火”的行為。所以及時(shí)制定一份軟件配置管理計(jì)劃在一定程度上是項(xiàng)目成功的重要保證。 在軟件配置管理計(jì)劃的制定過(guò)程中,它的主要流程應(yīng)該是這樣的: CCB根據(jù)項(xiàng)目的開(kāi)發(fā)計(jì)劃確定各個(gè)里程碑和開(kāi)發(fā)策略; 項(xiàng)目開(kāi)發(fā)維護(hù)階段: 這一階段時(shí)項(xiàng)目研發(fā)的主要階段。在這一階段中,軟件配置管理活動(dòng)主要分為三個(gè)層面:(1)主要由CMO完成的管理和維護(hù)工作;(2)由SIO和DEV具體執(zhí)行軟件配置管理策略;(3)變更流程。這三個(gè)層面是彼此之間既獨(dú)立又互相聯(lián)系的有機(jī)的整體。 在這個(gè)軟件配置管理過(guò)程中,它的核心流程應(yīng)該是這樣的:(1)CCB設(shè)定研發(fā)活動(dòng)的初始基線;(2)CMO根據(jù)軟件配置管理規(guī)劃設(shè)立配置庫(kù)和工作空間,為執(zhí)行軟件配置管理就阿做好準(zhǔn)備;(3)開(kāi)發(fā)人員按照統(tǒng)一的軟件配置管理策略,根據(jù)獲得的授權(quán)的資源進(jìn)行項(xiàng)目的研發(fā)工作;(4)SIO按照項(xiàng)目的進(jìn)度集成組內(nèi)開(kāi)發(fā)人員的工作成果,并構(gòu)建系統(tǒng),推進(jìn)版本的演進(jìn);(5)CCB根據(jù)項(xiàng)目的進(jìn)展情況,審核各種變更請(qǐng)求,并適時(shí)的劃定新的基線,保證開(kāi)發(fā)和維護(hù)工作有序的進(jìn)行。 這個(gè)流程就是如此循環(huán)往復(fù),直到項(xiàng)目的結(jié)束。當(dāng)然,在上述的核心過(guò)程之外,還涉及其他一些相關(guān)的活動(dòng)和操作流程,下面按不同的角色分工予以列出: 各開(kāi)發(fā)人員按照項(xiàng)目經(jīng)理發(fā)布的開(kāi)發(fā)策略或模型進(jìn)行工作; 綜上所述,配置管理的工作流程如圖1所示: 七. 軟件配置管理的關(guān)鍵活動(dòng) 1.配置項(xiàng)(Software Configuration Item,SCI)識(shí)別 Pressman對(duì)于SCI給出了一個(gè)比較簡(jiǎn)單的定義:“軟件過(guò)程的輸出信息可以分為三個(gè)主要類別:(1)計(jì)算機(jī)程序(源代碼和可執(zhí)行程序),(2)描述計(jì)算機(jī)程序的文檔(針對(duì)技術(shù)開(kāi)發(fā)者和用戶),以及(3)數(shù)據(jù)(包含在程序內(nèi)部或外部)。這些項(xiàng)包含了所有在軟件過(guò)程中產(chǎn)生的信息,總稱為軟件配置項(xiàng)。” 由此可見(jiàn),配置項(xiàng)的識(shí)別是配置管理活動(dòng)的基礎(chǔ),也是制定配置管理計(jì)劃的重要內(nèi)容。 軟件配置項(xiàng)分類軟件的開(kāi)發(fā)過(guò)程是一個(gè)不斷變化著的過(guò)程,為了在不嚴(yán)重阻礙合理變化的情況下來(lái)控制變化,軟件配置管理引入了“基線(Base Line)”這一概念。IEEE對(duì)基線的定義是這樣的:“已經(jīng)正式通過(guò)復(fù)審核批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可作為進(jìn)一步開(kāi)發(fā)的基礎(chǔ),并且只能通過(guò)正式的變化控制過(guò)程改變。” 所以,根據(jù)這個(gè)定義,我們?cè)谲浖拈_(kāi)發(fā)流程中把所有需加以控制的配置項(xiàng)分為基線配置項(xiàng)和非基線配置項(xiàng)兩類,例如:基線配置項(xiàng)可能包括所有的設(shè)計(jì)文檔和源程序等;非基線配置項(xiàng)可能包括項(xiàng)目的各類計(jì)劃和報(bào)告等。 配置項(xiàng)的標(biāo)識(shí)和控制 所有配置項(xiàng)都都應(yīng)按照相關(guān)規(guī)定統(tǒng)一編號(hào),按照相應(yīng)的模板生成,并在文檔中的規(guī)定章節(jié)(部分)記錄對(duì)象的標(biāo)識(shí)信息。在引入軟件配置管理工具進(jìn)行管理后,這些配置項(xiàng)都應(yīng)以一定的目錄結(jié)構(gòu)保存在配置庫(kù)中。 2.工作空間管理 在引入了軟件配置管理工具之后,所有開(kāi)發(fā)人員都會(huì)被要求把工作成果存放到由軟件配置管理工具所管理的配置庫(kù)中去,或是直接工作在軟件配置管理工具提供的環(huán)境之下。所以為了讓每個(gè)開(kāi)發(fā)人員和各個(gè)開(kāi)發(fā)團(tuán)隊(duì)能更好的分工合作,同時(shí)又互不干擾,對(duì)工作空間的管理和維護(hù)也成為了軟件配置管理的一個(gè)重要的活動(dòng)。 一般來(lái)說(shuō),比較理想的情況是把整個(gè)配置庫(kù)視為一個(gè)統(tǒng)一的工作空間,然后再根據(jù)需要把它劃分為個(gè)人(私有)、團(tuán)隊(duì)(集成)和全組(公共)這三類工作空間(分支),從而更好的支持將來(lái)可能出現(xiàn)的并行開(kāi)發(fā)的需求。 每個(gè)開(kāi)發(fā)人員按照任務(wù)的要求,在不同的開(kāi)發(fā)階段,工作在不同的工作空間上,例如:對(duì)于私有開(kāi)發(fā)空間而言,開(kāi)發(fā)人員根據(jù)任務(wù)分工獲得對(duì)相應(yīng)配置項(xiàng)的操作許可之后,他即在自己的私有開(kāi)發(fā)分支上工作,他的所有工作成果體現(xiàn)為在該配置項(xiàng)的私有分支上的版本的推進(jìn),除該開(kāi)發(fā)人員外,其他人員均無(wú)權(quán)操作該私有空間中的元素;而集成分支對(duì)應(yīng)的是開(kāi)發(fā)團(tuán)隊(duì)的公共空間,該開(kāi)發(fā)團(tuán)隊(duì)擁有對(duì)該集成分支的讀寫(xiě)權(quán)限,而其他成員只有只讀權(quán)限,它的管理工作由SIO負(fù)責(zé);至于公共工作空間,則是用于統(tǒng)一存放各個(gè)開(kāi)發(fā)團(tuán)隊(duì)的階段性工作成果,它提供全組統(tǒng)一的標(biāo)準(zhǔn)版本,并作為整個(gè)組織的Knowledge Base。 當(dāng)然,由于選用的軟件配置管理工具的不同,在對(duì)于工作空間的配置和維護(hù)的實(shí)現(xiàn)上有比較大的差異,但對(duì)于CMO來(lái)說(shuō),這些工作是他的重要職責(zé),他必須根據(jù)各開(kāi)發(fā)階段的實(shí)際情況來(lái)配置工作空間并定制相應(yīng)的版本選取規(guī)則,來(lái)保證開(kāi)發(fā)活動(dòng)的正常運(yùn)作。在變更發(fā)生時(shí),應(yīng)及時(shí)做好基線的推進(jìn)。 3.版本控制 版本控制是軟件配置管理的核心功能。所有置于配置庫(kù)中的元素都應(yīng)自動(dòng)予以版本的標(biāo)識(shí),并保證版本命名的唯一性。版本在生成過(guò)程中,自動(dòng)依照設(shè)定的使用模型自動(dòng)分支、演進(jìn)。除了系統(tǒng)自動(dòng)記錄的版本信息以外,為了配合軟件開(kāi)發(fā)流程的各個(gè)階段,我們還需要定義、收集一些元數(shù)據(jù)(Metadata)來(lái)記錄版本的輔助信息和規(guī)范開(kāi)發(fā)流程,并為今后對(duì)軟件過(guò)程的度量做好準(zhǔn)備。當(dāng)然如果選用的工具支持的話,這些輔助數(shù)據(jù)將能直接統(tǒng)計(jì)出過(guò)程數(shù)據(jù),從而方便我們軟件過(guò)程改進(jìn)(Software Process Improvement,SPI)活動(dòng)的進(jìn)行。 對(duì)于配置庫(kù)中的各個(gè)基線控制項(xiàng),應(yīng)該根據(jù)其基線的位置和狀態(tài)來(lái)設(shè)置相應(yīng)的訪問(wèn)權(quán)限。一般來(lái)說(shuō),對(duì)于基線版本之前的各個(gè)版本都應(yīng)處于被鎖定的狀態(tài),如需要對(duì)它們進(jìn)行變更,則應(yīng)按照變更控制的流程來(lái)進(jìn)行操作。 4.變更控制 在對(duì)SCI的描述中,我們引入了基線的概念。從IEEE對(duì)于基線的定義中我們可以發(fā)現(xiàn),基線是和變更控制緊密相連的。也就是說(shuō)在對(duì)各個(gè)SCI做出了識(shí)別,并且利用工具對(duì)它們進(jìn)行了版本管理之后,如何保證它們?cè)趶?fù)雜多變得開(kāi)發(fā)過(guò)程中真正的處于受控的狀態(tài),并在任何情況下都能迅速的恢復(fù)到任一歷史狀態(tài)就成為了軟件配置管理的另一重要任務(wù)。因此,變更控制就是通過(guò)結(jié)合人的規(guī)程和自動(dòng)化工具,以提供一個(gè)變化控制的機(jī)制。 在本文的前面的部分中,已經(jīng)把SCI分為基線配置項(xiàng)和非基線配置項(xiàng)兩大類,所以這里所涉及的變更控制的對(duì)象主要指配置庫(kù)中的各基線配置項(xiàng)。 在這樣的流程中,CMO通過(guò)軟件配置管理工具來(lái)進(jìn)行訪問(wèn)控制和同步控制,而這兩種控制則是建立在前文所描述的版本控制和分支策略的基礎(chǔ)上的。 5.狀態(tài)報(bào)告 配置狀態(tài)報(bào)告就是根據(jù)配置項(xiàng)操作數(shù)據(jù)庫(kù)中的記錄來(lái)向管理者報(bào)告軟件開(kāi)發(fā)活動(dòng)的進(jìn)展情況。這樣的報(bào)告應(yīng)該是定期進(jìn)行,并盡量通過(guò)CASE工具自動(dòng)生成,用數(shù)據(jù)庫(kù)中的客觀數(shù)據(jù)來(lái)真實(shí)的反映各配置項(xiàng)的情況。 配置狀態(tài)報(bào)告應(yīng)根據(jù)報(bào)告應(yīng)著重反映當(dāng)前基線配置項(xiàng)的狀態(tài),以作為對(duì)開(kāi)發(fā)進(jìn)度報(bào)告的參照。同時(shí)也能從中根據(jù)開(kāi)發(fā)人員對(duì)配置項(xiàng)的操作記錄來(lái)對(duì)開(kāi)發(fā)團(tuán)隊(duì)的工作關(guān)系作一定的分析。 配置狀態(tài)報(bào)告應(yīng)該包括下列主要內(nèi)容: 6.配置審計(jì) 配置審計(jì)的主要作用是作為變更控制的補(bǔ)充手段,來(lái)確保某一變更需求已被切實(shí)實(shí)現(xiàn)。在某些情況下,它被作為正式的技術(shù)復(fù)審的一部分,但當(dāng)軟件配置管理是一個(gè)正式的活動(dòng)時(shí),該活動(dòng)由SQA人員單獨(dú)執(zhí)行。 總之,軟件配置管理的對(duì)象是軟件研發(fā)活動(dòng)中的全部開(kāi)發(fā)資產(chǎn)。所有這一切都應(yīng)作為配置項(xiàng)納入管理計(jì)劃統(tǒng)一進(jìn)行管理,從而能夠保證及時(shí)的對(duì)所有軟件開(kāi)發(fā)資源進(jìn)行維護(hù)和集成。因此,軟件配置管理的主要任務(wù)也就歸結(jié)為以下幾條:(1)制定項(xiàng)目的配置計(jì)劃;(2)對(duì)配置項(xiàng)進(jìn)行標(biāo)識(shí);(3)對(duì)配置項(xiàng)進(jìn)行版本控制;(4)對(duì)配置項(xiàng)進(jìn)行變更控制;(5)定期進(jìn)行配置審計(jì);(6)向相關(guān)人員報(bào)告配置的狀態(tài)。 在此,我想特別指出的是:由于軟件配置管理覆蓋了整個(gè)軟件的開(kāi)發(fā)過(guò)程,因此它是改進(jìn)我們的軟件過(guò)程、提高過(guò)程能力成熟度的理想的切入點(diǎn)。希望本文所描述的這個(gè)軟件配置管理的角色分配和工作流程能在實(shí)踐中不斷地得到完善,從而使我們的軟件開(kāi)發(fā)活動(dòng)能夠更加有序、高效的進(jìn)行! 八、實(shí)施配置管理的收益 國(guó)內(nèi)很多軟件企業(yè)已經(jīng)逐漸認(rèn)識(shí)到配置管理的重要性,都希望通過(guò)實(shí)施配置管理來(lái)提高軟件開(kāi)發(fā)管理的水平,增強(qiáng)企業(yè)自身的競(jìng)爭(zhēng)力,應(yīng)對(duì)市場(chǎng)的壓力。 針對(duì)市場(chǎng)的這些需求,Hansky公司在中國(guó)市場(chǎng)推出了業(yè)界技術(shù)領(lǐng)先的軟件配置管理解決方案,產(chǎn)品包括配置管理工具Firefly和變更管理工具Butterfly。Firefly是Hansky公司推出的軟件配置管理系統(tǒng),它可以輕松管理、維護(hù)整個(gè)企業(yè)的軟件、代碼和文檔。Firefly是一個(gè)高性能、運(yùn)行速度極快的軟件配置管理系統(tǒng),支持不同的開(kāi)發(fā)、運(yùn)行平臺(tái),因此它能在整個(gè)企業(yè)中的不同團(tuán)隊(duì)、不同項(xiàng)目中都得以廣泛的應(yīng)用。Firefly能夠?qū)F(tuán)隊(duì)開(kāi)發(fā)提供有力的支持,開(kāi)發(fā)團(tuán)隊(duì)一旦擁有了Firefly,就可以非常準(zhǔn)確的定義: 軟件將在什么時(shí)間發(fā)布; Butterfly是Hansky公司提供的新一代的軟件變更請(qǐng)求管理軟件。它以軟件產(chǎn)品為中心,有效的協(xié)調(diào)軟件項(xiàng)目中各職位人員的工作,能夠使軟件項(xiàng)目在較短時(shí)間內(nèi)高質(zhì)量完成。 Butterfly的主要功能如下: 提供對(duì)開(kāi)發(fā)過(guò)程中的缺陷、建議和任務(wù)的追蹤管理; 具體而言,用戶可以在資金、管理水平和保護(hù)知識(shí)財(cái)富等方面得到切實(shí)收益。 節(jié)約用戶資金 (1) Hansky配置管理系統(tǒng)的總體實(shí)施成本低 對(duì)硬件系統(tǒng)性能的要求低,可以跨平臺(tái)使用,節(jié)約了用戶的投資; (2) 縮短用戶的產(chǎn)品開(kāi)發(fā)周期 利用Hansky的Firefly系統(tǒng)對(duì)開(kāi)發(fā)資源進(jìn)行版本管理和跟蹤,可以建立公司級(jí)的代碼知識(shí)庫(kù),保存開(kāi)發(fā)過(guò)程中的所有歷史版本,這樣大大提高了代碼的復(fù)用率,還便于同時(shí)維護(hù)多個(gè)版本和進(jìn)行新版本的開(kāi)發(fā),最大限度地共享代碼。利用Butterfly組建開(kāi)發(fā)團(tuán)體之間的問(wèn)題跟蹤及消息通訊機(jī)制,通過(guò)與電子郵件系統(tǒng)的結(jié)合大大增強(qiáng)了開(kāi)發(fā)團(tuán)體之間的溝通能力,通過(guò)豐富的報(bào)表功能可對(duì)發(fā)現(xiàn)的問(wèn)題進(jìn)行整理、以報(bào)表方式分類報(bào)出,作為開(kāi)發(fā)的指導(dǎo)。通過(guò)使用Hansky的配置管理套件可以提高開(kāi)發(fā)效率和產(chǎn)品質(zhì)量,避免了代碼覆蓋、溝通不夠、開(kāi)發(fā)無(wú)序的混亂局面,大大縮短了產(chǎn)品的開(kāi)發(fā)周期。 (3) 降低產(chǎn)品的部署費(fèi)用 使用Hansky的軟件配置管理解決方案后,用戶可以在Hansky技術(shù)專家的幫助下建立規(guī)范的配置管理流程,所有的軟件產(chǎn)品將得到統(tǒng)一有效的管理。借助Firefly和Butterfly,工程人員可以通過(guò)訪問(wèn)服務(wù)器直接獲取所需的最新版本,查找公司的知識(shí)庫(kù),提交變更請(qǐng)求,收集用戶的反饋意見(jiàn)。開(kāi)發(fā)人員無(wú)需到現(xiàn)場(chǎng)即可再現(xiàn)用戶環(huán)境,集中解決問(wèn)題,發(fā)布補(bǔ)丁。這樣可以同時(shí)響應(yīng)多個(gè)地點(diǎn)的項(xiàng)目,防止開(kāi)發(fā)人員分配到各個(gè)項(xiàng)目點(diǎn)、力量分散、人員不夠的弊端,同時(shí)節(jié)約大量的旅差費(fèi)用。 提高軟件開(kāi)發(fā)管理的水平 (1) 改進(jìn)用戶的開(kāi)發(fā)工作模式 使用Hansky的配置管理解決方案,可以有效地改進(jìn)用戶的軟件開(kāi)發(fā)模式和過(guò)程,提高企業(yè)軟件能力成熟度的級(jí)別。 借助Firefly和Butterfly,用戶可以: 有效的管理工作空間,各個(gè)成員的具有獨(dú)立的工作空間,并能記錄其變更集和整個(gè)生命周期中的完整變更歷史; (2) 加強(qiáng)項(xiàng)目管理能力 通過(guò)瀏覽器,項(xiàng)目負(fù)責(zé)人可以方便地查看項(xiàng)目進(jìn)展情況以及員工工作情況; (3) 量化工作量考核 傳統(tǒng)的開(kāi)發(fā)管理中,工作量一直是難以估量的指標(biāo)??块_(kāi)發(fā)人員自己把握,隨意性過(guò)大;靠管理人員把握,主觀性又太強(qiáng)。采用Firefly和Butterfly管理后,系統(tǒng)能夠客觀的記錄員工的工作內(nèi)容和質(zhì)量,可以作為工作量的衡量指標(biāo)。 (4) 規(guī)范測(cè)試流程 Butterfly和Firefly集成后,可以有效地跟蹤和處理軟件的變更,完整地記錄測(cè)試人員的工作內(nèi)容,測(cè)試有了實(shí)實(shí)在在的工作,測(cè)試人員根據(jù)修改描述細(xì)節(jié)對(duì)每一天的工作做具體的測(cè)試。對(duì)測(cè)試人員也具有相應(yīng)的可考核性,這樣環(huán)環(huán)相扣,有效地增強(qiáng)了對(duì)測(cè)試的管理。 (5) 加強(qiáng)協(xié)調(diào)與溝通,增加團(tuán)隊(duì)競(jìng)爭(zhēng)力 使用Firefly保存公司的所有知識(shí)財(cái)富、利用Butterfly的FAQ、檢索以及Email自動(dòng)通知功能,有效地加強(qiáng)了項(xiàng)目成員之間的溝通,做到有問(wèn)題及時(shí)發(fā)現(xiàn)、及時(shí)修改、及時(shí)通知,卻又不會(huì)額外增加很多的工作量,大大提高了開(kāi)發(fā)團(tuán)隊(duì)的協(xié)同工作效率。 保護(hù)企業(yè)的知識(shí)財(cái)富 從整個(gè)企業(yè)的發(fā)展戰(zhàn)略來(lái)說(shuō),如何在技術(shù)日新月異、人員流動(dòng)頻繁的情況下,本公司的知識(shí)庫(kù)及經(jīng)驗(yàn)庫(kù),把個(gè)人的知識(shí)及經(jīng)驗(yàn)轉(zhuǎn)變?yōu)楣镜闹R(shí)和經(jīng)驗(yàn),這對(duì)于提高工作效率、縮短產(chǎn)品周期以及提高公司的競(jìng)爭(zhēng)力都具有至關(guān)重要的作用。采用科學(xué)的配置管理思想,輔之以先進(jìn)的配置管理工具,可以幫助用戶在內(nèi)部建立完善的知識(shí)管理體系。 軟件代碼是軟件開(kāi)發(fā)人員腦力勞動(dòng)的結(jié)晶,也是軟件公司的寶貴財(cái)富,長(zhǎng)期開(kāi)發(fā)過(guò)程中形成的各種代碼對(duì)象就像一個(gè)個(gè)零件一樣,是快速生成系統(tǒng)的組成部分。然而長(zhǎng)期以來(lái)的一個(gè)事實(shí)是:一旦某個(gè)開(kāi)發(fā)人員離開(kāi)工作崗位,其原來(lái)所編寫(xiě)的代碼便基本成為垃圾,無(wú)人過(guò)問(wèn);或者由于文檔不全,無(wú)從考究。究其原因,就是沒(méi)有專門對(duì)每個(gè)開(kāi)發(fā)人員的代碼、組件和文檔進(jìn)行科學(xué)的管理,將其應(yīng)用范圍擴(kuò)大到公司一級(jí),進(jìn)行規(guī)范化,加以說(shuō)明和普及。Firefly為代碼管理提供了一個(gè)平臺(tái)和倉(cāng)庫(kù),有利于建立公司級(jí)的代碼對(duì)象庫(kù),增進(jìn)代碼復(fù)用,提高開(kāi)發(fā)重用率和軟件質(zhì)量。 (2) 業(yè)務(wù)及經(jīng)驗(yàn)庫(kù) 通過(guò)Firefly和Butterfly,可自動(dòng)生成完整的開(kāi)發(fā)日志及問(wèn)題集合,用文字記錄開(kāi)發(fā)的整個(gè)過(guò)程,不會(huì)因某人的流動(dòng)而消失,有利于公司積累業(yè)務(wù)經(jīng)驗(yàn),無(wú)論對(duì)軟件維護(hù)或版本升級(jí),都具有重要的指導(dǎo)作用。此外,利用Butterfly內(nèi)建的FAQ模塊,可以建立檢索方便的經(jīng)驗(yàn)庫(kù),傳播和共享集體的智慧。 (3) 安全性和可靠性 由于配置管理系統(tǒng)集中存儲(chǔ)了企業(yè)的重要知識(shí)財(cái)富,因此對(duì)其安全性和可靠性有極高的要求。Firefly可以對(duì)所有存儲(chǔ)的文件進(jìn)行冗余校驗(yàn),使用MD5作為文件的校驗(yàn)和,并提供備份和恢復(fù)工具,確保了數(shù)據(jù)的可靠性。同時(shí)Firefly支持用戶身份驗(yàn)證和訪問(wèn)控制,支持用戶組,便于權(quán)限設(shè)置。訪問(wèn)控制可以針對(duì)分支、目錄,甚至單個(gè)文件設(shè)置,采用類似Windows NTFS的權(quán)限管理方式,既靈活又安全。這些措施使得企業(yè)的知識(shí)財(cái)富得到了安全可靠的存儲(chǔ)和保護(hù)。 另外,由于Hansky的產(chǎn)品采用了三層結(jié)構(gòu)設(shè)計(jì),其存儲(chǔ)庫(kù)完全不依賴于網(wǎng)絡(luò)文件體統(tǒng),無(wú)需共享存儲(chǔ)目錄,能夠有效防止病毒攻擊所導(dǎo)致的存儲(chǔ)庫(kù)癱瘓或損壞,同時(shí)杜絕網(wǎng)絡(luò)非法訪問(wèn)。 |
|