項目管理:軟件配置管理實踐

字號:

現(xiàn)在大家都已經(jīng)認(rèn)識到了有效的軟件配置管理工作對于提高團(tuán)隊開發(fā)效率、保障軟件產(chǎn)品質(zhì)量的重要意義,很多朋友也開始了在配置管理實施方面的一些研究,市場上我們也可以看到一些軟件配置管理工具廠商針對具體配置管理工具提供的實施服務(wù);但是,實施軟件配置管理到底應(yīng)該做哪些東西?團(tuán)隊的配置管理現(xiàn)狀怎么評估?在哪些方面還可以進(jìn)行改進(jìn)?我們相信,這些問題可能正困擾著大多數(shù)研發(fā)主管和項目經(jīng)理。
    國外軟件產(chǎn)業(yè)界在軟件配置管理這個專題上已經(jīng)進(jìn)行了多年的理論和實踐上的研究。在多年經(jīng)驗積累的基礎(chǔ)上,產(chǎn)業(yè)界總結(jié)出來一系列“實踐”(Best Practices),我們可以使用這些“實踐”來作為評估一個組織軟件配置管理能力的標(biāo)尺,也可以作為我們實施軟件配置管理的指南。這些“實踐”包括:
    1、 標(biāo)識需要進(jìn)行存儲的工件(Artifact)并保障安全存儲;
    2、 控制并且審計(Audit)對于工件的修改;
    3、 設(shè)立并管理基線(Baseline);
    4、 記錄并跟蹤變更請求;
    5、 維護(hù)穩(wěn)定、一致的工作空間;
    6、 支持對于工件和控件的并發(fā)修改;
    7、 盡早集成、持續(xù)集成;
    8、 保證軟件構(gòu)建的重現(xiàn)能力;
    9、 以控件(Component)為單位實施版本控制;
    10、 使用“活動”(Activity)來組織和整合版本集。
    下文將介紹前5條實踐。
    1、標(biāo)識需要進(jìn)行存儲的工件(Artifact)并保障安全存儲
    在軟件開發(fā)過程中,我們會得到各種各樣的產(chǎn)出,比如各種文檔、模型、源代碼以及測試腳本等,我們把這些大家勞動的成果統(tǒng)稱為工件(Artifact)。對于一個軟件開發(fā)組織來說,這些工件就構(gòu)成了組織的核心資產(chǎn)。對于如現(xiàn)金、有價證券之類的資產(chǎn),我們都會準(zhǔn)備一個保險箱,好好地保存;對于軟件資產(chǎn),我們也需要相似的措施。所以,軟件配置管理工作的第一步就是建立一個安全、可靠的存儲庫(Repository),用于保存組織的核心軟件資產(chǎn)。
    這個庫對于開發(fā)團(tuán)隊來說,就像是財務(wù)室里的保險箱。因此,容錯能力和高可靠性是這個庫最重要的屬性。除此之外,隨著組織的增長,置于庫中的數(shù)據(jù)會越來越多,為保證運(yùn)行效率,庫的可擴(kuò)展性也是非常重要的一個屬性。
    對于存儲庫來說,良好規(guī)劃的備份和災(zāi)難恢復(fù)過程是必不可少的。令人驚訝的是,很多軟件組織在這方面都沒有給予必要的重視,因而也給組織的發(fā)展留下了嚴(yán)重的隱患,一旦災(zāi)難發(fā)生,后果不堪設(shè)想。
    在建立好存儲庫以后,需要做的工作就是確定將哪些工件置于庫中。根據(jù)實際需要,組織可能會決定只將正式文檔、模型文件、源代碼、發(fā)布版本等文件放入庫中,而對于臨時文檔、編譯時產(chǎn)生的中間文件等,則不將它們放入庫中。我們把放入庫中的文件稱之為配置項(Configuration Item)。
    2、控制并且審計(Audit)對于工件的修改
    在標(biāo)識相關(guān)的工件并將它們置于存儲庫中以后,我們需要建立對于這些工件的修改控制機(jī)制以及審計機(jī)制。
    庫里的工件不是誰想修改就可以修改的。控制機(jī)制必須保證只有拿到授權(quán)的人員才能對相關(guān)工件進(jìn)行修改,而審計機(jī)制則保證修改的動作被完整地記錄,也就是說,誰修改了這個工件,什么時候做的修改,為什么原因做出這個改動,以及修改了哪些地方(Who、When、Why、What)。
    審計機(jī)制通常通過“檢出/檢入”(Check out/Check in)模式得到實現(xiàn)。在這種模式下,工件一旦入庫,讀寫權(quán)限就變成只讀(read only),如果要對該工件進(jìn)行修改,則需要通過“檢出”這個步驟;在修改結(jié)束以后,如果希望將修改的成果入庫,則需要通過“檢入”這個步驟。在經(jīng)過一次“檢出/檢入”步驟以后,會形成該工件新的版本,因此也有人把上邊的過程稱之為“版本控制”(Version Control)。在版本控制過程中,如果利用一些配置管理工具(或者版本控制工具)的支持,則可以自動地記錄審計工作所需的四個“W”(Who、When、Why、What)。