• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件項目管理先行軍

    發布: 2008-8-14 18:04 | 作者: 網絡轉載 | 來源: 中國經濟網 | 查看: 56次 | 進入軟件測試論壇討論

    領測軟件測試網 編者按:在復雜的軟件項目管理中,還有一種技術管理手段會幫助工程人員趟過軟件開發過程中的泥潭,它就是目前正被日益重視的—軟件配置管理(SCM)。配置管理作為相對獨立的管理分支,有著其自身特殊的作用和要求。 
      目前國內正在大張旗鼓地開展前所未有的“管理革命”,軟件項目管理也取得喜人的進展:CMM遍地生花,PMP人才涌現,項目管理的思想“深入人心”。但筆者更想談一個基本的話題——配置管理。很多人是在CMM中接觸“配置管理”的觀念的,對配置管理的作用理解也僅限于CMM的要求。其實,配置管理作為相對獨立的管理分支,有著其自身特殊的作用和要求。 

    軟件開發的“泥潭” 

      在一個軟件開發項目中,會有大量的所謂“產品”產生,典型的如代碼、文檔(包括技術文檔、產品文檔、管理文檔)、數據、腳本、執行文件、安裝文件、配置文件、甚至一些參數等,這些產品實際上都是軟件項目的直接產品,同時也都是項目資產。但隨著軟件技術的不斷更新、軟件系統功能的日趨復雜、以及參與人員數量的大規模增加,上述產品的數量也急劇增加。這些產品還有一個獨特的特征,就是由于所有的產品都以“信息”的形式存放在計算機中,因此,與硬件比較而言,極容易被修改(不考慮權限問題)和變化。這樣雖然有助于靈活性的提高,隨之而來的是管理復雜性也急劇增加。如何有效地管理這些產品以及它們之間的關系成為一個棘手的問題。 
       
      另一方面,軟件開發往往都是在“變化”中進行的?梢院敛豢鋸埖卣f,對軟件開發項目而言,“變化是持續的、永恒的”,找不到不會變化的項目。需求會變,技術會變,系統架構會變,代碼會變,甚至連環境都會變,所有的變化最終都要反映到上述的項目產品中。如何應對這些變化,如何在受控的方式下引入變更,如何監控變更的執行,如何檢驗變更的結果,如何最終確認并固化變更,如何使變更具有追溯性,這一系列問題都將直接影響項目的進行。 
      另外,軟件項目最終的目標是提交“高質量”的軟件產品給最終用戶。但是,我們經常面臨的一個問題是,“提交了些什么?”為什么會產生這個問題,是因為最終的“高質量”,“可運行的”軟件產品是由上千個甚至更多的“部件”按照某種特定的規則編譯在一起完成的,但是每個部件都有自己特定的變化生命周期(Change Lifecycle),這樣就產生了一系列的版本,許多的部件以及各自的許多版本,就形成天文數字般的組合,見下圖示例。 
      遺憾的是,其中只有一種組合才是我們真正想要的。沒有足夠的信息,沒有合理的管理手段,我們將面臨危機(事實上,這種危機在許多項目中已經一再地出現了)。 
      還有另外的一些問題對項目同樣會產生影響。比如,在軟件項目組中,往往是許多人一起配合工作。這時會出現一種需求:每個人要求工作在一個“獨立”的工作環境中,也就是要求每個人進行工作時,不能影響和干擾其他人的工作和成果。但同時,當經過一定的授權或者認定后,還要求可以比較便捷地和其他人的工作進行配合。這種既獨立又聯系的關系,使得通常的管理手段顯得力不從心。 
      綜合上面的問題可以看出,大量的問題已經不再是單純的技術問題了,而是需要一項專門的管理手段來處理。這個管理手段直接的目的就是保持項目的穩定性(雖然也能間接提高質量),減少因上述原因引起的項目混亂而造成的負面影響。這就是“配置管理”的產生原因。 

    SCM的責任 

      根據IEEE的定義,“軟件配置管理(Software Configuration Management , SCM)是一門應用技術、管理和監督相結合的學科,通過標識和文檔來記錄配置項的功能和物理特性、控制這些特性的變更、記錄和報告變更的過程和狀態,并驗證它們與需求是否一致!睆亩x可以看出,軟件配置管理(SCM)是一門綜合性的學科,其中不僅包含管理,也包含一些技術手段。另外,SCM通過管理配置項控制變更、驗證變更,使項目的混亂減到最小,使錯誤達到最小,并最大限度地提高生產率。 
      實施軟件配置管理的目的是保證軟件項目的工作產品在整個項目周期中的“完整性”。所謂完整性是指,工作產品要求有完整的變更歷史記錄,要求有正式的變更過程,而且還要求保證工作產品能和需求以及變更保持一致性。 

    為應用SCM支招 

      從上述的定義中,我們已經可以歸納出要實施軟件配置管理,需要進行哪些活動了。 
      首先,要進行配置項的標識。所謂配置項,簡單地說就是受SCM控制和管理的工作產品單元,也是配置管理的目標。什么能作為配置項進行管理?下面舉一些例子,程序(源代碼、目標代碼、可執行程序、函數等)、文檔(需求定義、系統分析、系統設計、高層設計、低層設計、測試規格說明書、測試計劃、安裝手冊、發布說明、用戶手冊等)、數據(測試數據和項目數據)、執行文件等,都是典型的配置項。但有幾個問題需要討論:一、配置項劃分的顆粒度問題。也就是說,配置項實際上是邏輯的概念,不完全對應物理上的文件,因此為了便于管理,就要進行一定程度的劃分,比如典型的,可以把用來生成一個“構件”的幾個代碼文件設定為一個配置項,這樣在進行變更時就需要同時對這些文件進行修改。二、不一定要把所有的工作產品都作為配置項。有些工作產品,比如狀態報告,相當穩定,不容易變化,同時對最終產品發布沒有直接影響,就可以考慮不作為配置項進行管理。為什么要這樣考慮呢?因為如果作為正式的配置項,需要進行配置項的標識、控制、報告等等工作,會給項目增加不必要的成本。因此,可以考慮對這些產品僅僅進行簡單的管理就可以了。但是對諸如項目計劃文檔,仍然需要進行軟件配置管理。三、對于一些沒有實際物理文件,但仍然需要進行配置管理的工作產品,比如操作系統參數、編譯器描述、物理特性、版本描述等,為了能進行配置管理,需要對其進行描述,并形成文檔,再以配置項形式進行管理。比如進行技術變更時,就有可能需要改變系統參數。 
      其次,進行變更控制?梢赃@樣說,我們所熟知的版本管理,其本身并沒有什么直接作用,而真正起發揮作用是為變更控制進行支持。為什么這樣說呢?我們仔細考慮一下,我們通過自動化的方法或者手工化的方法,保存了所有的配置項的所有版本,但是什么時候會有用處呢?往往沒有進行變更控制的時候,就會發現所有的版本僅僅占用磁盤空間,而從來不會使用,甚至真正想找到以前某個狀態時,反而難于查找。主要的原因是,所記錄的配置項的所有狀態,只有和變更控制進行配合,將變更的原因和變更的結果(配置項的某一版本)聯系在一起,才能以變更為主線,將所有版本變為“有理由的”(reasonable),才能形成基線,真正發揮變更控制和版本管理的作用。 
      第三,要進行配置管理的狀態監控和報告。這部分內容比較具有技術性,并且相對單一,基本上依照項目對配置管理的要求進行統計和分析。但是,配置管理狀態報告往往能從另一個方面反映項目的進度情況,甚至有時比項目進度狀況報告還要準確。比如,變更請求狀態分布報告,就可以客觀地反映按照計劃應該完成多少變更請求,而實際上完成多少變更請求,這實際上客觀地反映出已完成和未完成工作量。這方面的內容在項目進度報告中很難客觀反映,從而造成項目實際情況與進度報告不符。 
      第四,就是要進行配置審核?梢哉f這個環節是配置管理達到效果的重要手段,但是在一般配置管理執行時,往往忽略配置審核,造成在產品測試、產品發布是仍然出現混亂。 
      最后,也是非常重要的配置管理活動,就是在項目開始之前就進行配置管理計劃。配置管理計劃往往和項目開發計劃一起產生,并相互影響。配置管理計劃的目標是規劃整個項目的配置管理活動,尤其是重要的比如發布、基線管理等問題。配置管理計劃的主要內容包括配置項的標識和命名規范、配置管理環境方案、配置管理活動計劃和時間表、基線計劃、發布計劃等?梢哉f,配置管理計劃直接決定了項目配置管理的方針,以及配置管理活動的準則。忽略配置管理計劃,將使整個配置活動甚至項目都受到影響。 
      以上是配置管理的基本活動。 

    不要忽略SCM 

      從CMM的實施情況來開,配置管理實際上是項目管理的基礎工作之一。原因如下: 
      一、軟件配置管理是一個相對獨立的管理活動,也就是說,配置管理活動不一定依賴其他的管理活動的開展。在很多企業中,配置管理完全可以在其他的管理活動沒有開展或者還不成熟時獨立進行。 
      二、其他許多的管理活動,多數都要以完善的配置管理作為基礎。比如說需求管理,對需求管理而言,無論需求的變更影響分析,還是需求的變更執行都是依賴在變更控制和配置管理基礎上的。其他的比如項目計劃管理、質量管理、項目跟蹤管理、子合同管理等都是類似的情況。 
      三、從實際經驗的總結來看,配置管理是諸多管理活動中最易操作、最容易實現并且能在項目最先體現出效果的管理手段。配置管理相對其他的管理,技術性較強,變化不大,對開發人員來說收效明顯,接受的程度高。 
      因此,我們將配置管理比做項目的“先行軍”,意味著企業在實施CMM或項目管理時,首先要抓好的是建立一套完整的配置管理制度,有條件的還要建立配置管理工具環境,并在項目中推廣實施。只有在此基礎上,才能為今后更加深入的項目管理提供基礎。 
      但是,僅僅意識到配置管理的重要性以及可行性還是不夠的。根據大量的實踐經驗,還需要有一套配置管理自動化的平臺,也就是一個配置管理工具作為實施的基礎。一套功能強大、實施容易、管理方便的配置管理工具,可以極大地提高配置管理的實施效果,尤其是可以得到項目組開發人員的大力支持。在市場中已經有了一些較好的產品。其中CA公司推出的AllFusion Harvest Change Manager就是滿足上述需要的一套非常優秀的配置管理工具。AllFusion Harvest Change Manager將配置管理和變更控制緊密地結合在一個產品中,并提供靈活的變更控制流程定制,支持從小團隊開發到大型項目實施的各種規模軟件項目,并具有簡單易用、快速實施、安全穩定的突出特點。在國外市場上市場占有率非常高,現在正在被越來越多的國內用戶認可。 
      我們相信,在不久的將來,配置管理將成為所有軟件開發人員和管理人員所依賴和熟悉的管理手段。  

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 軟件 項目管理


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>