<bdo id="xkgs2"><xmp id="xkgs2">

<bdo id="xkgs2"><progress id="xkgs2"><bdo id="xkgs2"></bdo></progress></bdo>

<nobr id="xkgs2"></nobr>

<bdo id="xkgs2"></bdo>

<menuitem id="xkgs2"><xmp id="xkgs2"><menuitem id="xkgs2"></menuitem>
<menuitem id="xkgs2"><font id="xkgs2"><samp id="xkgs2"></samp></font></menuitem><menuitem id="xkgs2"><xmp id="xkgs2"><menuitem id="xkgs2"><xmp id="xkgs2">

<bdo id="xkgs2"><xmp id="xkgs2">

<menuitem id="xkgs2"><xmp id="xkgs2">

<bdo id="xkgs2"></bdo>
<menuitem id="xkgs2"><xmp id="xkgs2"><samp id="xkgs2"></samp>

<b id="xkgs2"><ins id="xkgs2"><samp id="xkgs2"></samp></ins></b>

新疆軟件開發

本站首頁 軟件開發 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網站建設
  您現在的位置: 新疆二域軟件開發公司 >> 開發語言 >> 文章正文

軟件開發技術:軟件配置管理計劃

“預則立,不預則廢”,軟件配置管理計劃對于配置管理實施的重要性毋庸多言。大家想看看別人做的配置管理計劃或者模板,無非是想學學別人的成功經驗,避免自己走一些彎路。
        但是我想,在這方面,更應該學習的應該是計劃軟件配置管理實施的思路,畢竟,各個開發團隊不同的地方太多了。下面是我觀察和思考的一些成果,和大家分享。
像你的老板一樣思考 
        作為一個配置管理實施的執行人員,你怎么樣才能夠保證這項活動的成功呢? 
        說起來很簡單、但是也是最重要的第一步,就是定義“成功”。

        很多負責配置管理實施的人員都是技術人員出身,我經常能在他們身上觀察到的一種現象就是:出于對技術的熱愛,他們希望把軟件配置管理學習、理解得很透徹,然后同樣出于對技術的熱情,希望能把所有在技術上很“誘人”的東西都實踐起來。

        我絕對沒有貶低這種熱情的意思(事實上,我自己也經常被這種熱情所導引);但是,我們一定要小心地提防這種熱情把我們引離了通向成功的方向。

        為什么要實施軟件配置管理?因為有效的配置管理可以幫助我們提高軟件產品質量、提高開發團隊工作效率。 
        什么是“成功”的配置管理實施?很簡單,只要比較配置管理實施活動前后,軟件產品的質量是不是得到了提高、開發團隊是不是能夠工作在一個有助于提高整體工作效率的配置管理平臺上。

        軟件配置管理活動在整個開發活動中是一項支持性、保障性的工作,它本身并不直接為企業產出可以直接贏利的工作成果;而配置管理每一項活動都需要消耗企業的人力資源,有些還需要購置專門的工具來支持活動的進行,這些都會導致企業生產成本的增加。

        所以,在我們計劃實施配置管理時要做哪些事情的時候,要小心地界定每一項活動,取舍的標準就是:從事這項活動是不是真正有助于我們實施活動的成功?它對于提高我們產品的質量有多大的幫助?能否幫助開發團隊更高效率地工作?

        大多數情況下,你的老板花錢讓你來做配置管理,并不是來讓你學習配置管理或者研究配置管理,而是希望你的工作能幫助他改變些什么;他的投資成功與否,是用投資回報率(ROI,return-on-investment)來衡量,而不是你對于配置管理技術研究的程度。

評估開發團隊當前配置管理現狀

        計劃配置管理實施的基礎,是搞清楚開發團隊當前配置管理的現狀。知道自己現在站在哪里,才明白自己下一步要往哪里走。

        對于配置管理現狀的評估,可以自己進行,也可以引入外部專業咨詢人員來完成評估活動

自己進行評估的話,可以參照SW-CMM中關于軟件配置管理這個關鍵過程域的資料;也可以利用PMT編寫的《軟件組織配置管理能力自我評估問題集》,來完成自我評估的工作。

        引入外部專業咨詢人員進行評估有兩個好處,一是通常這樣的咨詢人員有比較豐富的配置管理實施經驗,評估工作可以進行得更加細致,而且通常咨詢人員會在評估結果的基礎上提出實施的建議;二是引入外部人員,通常評估結果會比內部自我評估更客觀。壞處是要花錢,而且如果該咨詢人員與具體的配置管理工具廠商有利益關系的時候,也可能會出現評估過程受到這種利益關系影響的情形。

        不管以何種方式進行,評估這個步驟的工作是一定要仔細進行的。有了評估的結果,才談得上改進。做好這個工作,比到處去找一份配置管理計劃的模板更有意義。

定義實施的范圍

        對于沒有正式實施過軟件配置管理的開發團隊來說,在配置管理方面存在的問題可能會比較多;經過評估,會找出來很多需要改進的點,那么,怎么樣來計劃改進的工作步驟呢?

        曾經有一位朋友向我展示他撰寫的軟件配置管理計劃,從基本的版本控制、基線管理、變更管理,到軟件構建的管理(Build Management)、配置審核(Auditing)、配置狀態的報告,洋洋灑灑,什么都做在計劃里了。他的團隊以前沒有太多配置管理的概念,因而也出現了很多一直困擾他的問題,在我向他介紹配置管理可以幫助他改善或解決這些問題以后他變成了一個配置管理技術的愛好者。我想他一定仔細研讀了RUP配置管理工作流、IEEE軟件配置管理標準之類的資料然后寫出了這份計劃。我對他的計劃提了一個問題:“你覺得按照日程安排我們做得完這么多事情嗎?”

        這就是前邊說過的,熱愛技術的朋友最容易出現的情況,為技術而技術、為流程而流程;我記得一位朋友跟我說過一句非常有意義的話:流程改進應該是以結果為導向的(Result Oriented)。配置管理的實施也是如此,應當在當前評估的基礎上,抓住團隊最頭疼的幾個問題,努力想辦法解決這些問題。

        大家都知道管理學里有一個黃金法則:80/20法則。在這里我們也可以套用一下,想一想:我如何才能找出20%的問題,在當前這個階段,這20%的問題給我的團隊帶來80%的困擾和痛苦,然后,我們集中80%的精力來解決這些問題。

        一句話,不要企圖一口吃個胖子。流程改進是一個持續的歷程,一個階段會有一個階段改進的重點,抓住重點、做出成績,才是有效的改進之道。

計劃資源要素

        俗話說,兵馬未動,糧草先行。配置管理的實施需要消耗一定的資源,在這個方面一定要預先規劃。

        具體來說,配置管理實施主要需要兩方面的資源要素:一是人力資源,二是工具。下面分別論述。

人力方面,因為配置管理是一個貫穿整個軟件生命周期的基礎支持性活動,所以配置管理會涉及到團隊中比較多的人員角色。比如,項目經理、配置管理員、開發人員、測試人員、集成人員、維護人員等。但是,工作在一個良好的配置管理平臺上并不需要開發人員、測試人員等角色了解太多的配置管理知識,所以,配置管理實施的主要人力資源會是集中在配置管理員上。

        配置管理員是一個比較奇妙的角色,對于一個實施了配置管理、建立了配置管理工作平臺的團隊來說,他是非常重要的,整個開發團隊的工作成果都在他的掌管之下,他負責管理和維護的配置管理系統如果出現問題的話,輕則影響團隊其他成員的工作效率,重則可能出現丟失工作成果、發布錯誤版本等嚴重的后果。然而,由于傳統不了解配置管理重要性的原因,在國內的開發團隊中,通常大家都不愿意去做配置管理員。我遇到很多情況,都是項目經理找來找去,選出來一個不喜歡做開發工作的女孩,來擔任配置管理員。

        在國外一些比較成熟的開發組織中,配置管理員被稱為CMO(Configuration Management Officer),或者是配置經理;他們被稱為是項目經理的左手。從這兩個稱謂我們可以看出他們對于配置管理員的重視。在選拔配置管理員的時候,也有相當高的要求,比如,有一定的開發經驗,對于系統(操作系統、網絡、數據庫等方面)比較熟悉,掌握一定的解決問題(trouble shooting)的技巧,在個人性格上,要求比較穩重、細心。

        在配置管理員這個資源配置方面,要注意后備資源(Backup)的培養。在大家越來越重視配置管理的大環境下,經驗豐富的配置管理員會成為搶手的人才;而配置管理員的離開可能會給團隊的工作進度帶來一定的影響,所以聰明的管理者會為自己留好備份。

        選擇什么樣的配置管理工具,一直是大家關注的熱點問題。確實,與其他的一些軟件工程活動不一樣,配置管理工作更強調工具的支持;缺乏良好的配置管理工具的話,要做好配置管理的實施會非常困難。

        具體來說,我想在配置管理工具的選型上,可以綜合考慮下邊的一些因素。

        首先是經費。市場上現有的商業配置管理工具,大多價格不菲。到底是選用開放源代碼的自由軟件、還是采購商業軟件,如果采購商業軟件的話,選擇哪個檔次的軟件,這些問題的答案,取決于你能從老板那兒拿到多少錢。

        一般來說,如果經費充裕的話,采購商業的配置管理工具會讓實施過程更順利一些,商業工具的操作界面通常更方便一些,與流行的集成開發環境(IDE)通常也會有比較好的集成,實施過程中出現與工具相關的問題也可以找廠商解決。

        如果經費有限的話呢,就不妨采用自由軟件,如CVS之類的工具。其實無論在穩定性還是在功能方面,CVS的口碑都非常好,我看到過很多組織成功地在CVS上完成配置管理的工作。如果你(或者你的配置管理員)不是一個依賴性很強的人,喜歡自己鉆研、自己去尋找資料解決問題,CVS會是一個不錯的選擇。

如果準備選擇商業配置管理工具,就應當重點考慮下面幾個因素。

        一、工具的市場占有率。大家都選擇的東西通常會是比較好的東西。而且市場占有率高也通常表明該企業經營狀況會好一些,被人收購或者倒閉的可能性小一點。

        二、工具本身的特性,如穩定性、易用性、安全性、擴展能力等。你應當在投資以前仔細地對工具進行試用和評估。這兒比較容易忽略的是工具的擴展能力(Scalability),你現在可能只是在幾個人、十幾個人的團隊中部署這個工具,但是以后可能會有幾十個、幾百個人要在依賴這個工具建立的平臺上工作,到時候這個工具能不能提供這樣的支持能力?如果到時候要換一個工具的話,你一定會后悔今天的選擇。

        三、廠商支持能力。工具使用過程中一定會出現這樣那樣的問題,有些是因為你使用不當引起的,有些則是工具本身的毛病。這樣的問題會影響到開發團隊的工作進度,你一定希望能隨時找到廠商的專業技術人員幫助你解決這些問題。

        配置管理工具不是用一次兩次的工具,因此,選擇配置管理工具其實是選擇和哪個廠商來建立一種長期的關系;如果你不信任或者干脆就是不喜歡這個廠商的技術代表,那么,不管他把他的東西吹得怎么個天花亂墜,還是趕緊讓他走吧。

作者:未知 | 文章來源:未知 | 更新時間:2007-12-25 13:09:28

  • 上一篇文章:

  • 下一篇文章:

  • 相關文章:
    了解java開發語言在軟件開發中的幾個誤區
    軟件開發-String知識點總結說明
    C#調用Delphi編寫的Dll,實現繪圖的功能
    正在興起的后關系型數據庫管理系統
    正在逐漸興起的后關系型數據庫管理系統
    如何在JavaScript實現彈出層效果
    java中的KVM常量池
    數據庫設計-數據庫的三級模式
    ASP.NET中如何使用unsafe選項
    JGroups擴展于可靠的單播傳輸機制
    軟件技術
    · 開發語言
    · Java技術
    · .Net技術
    · 數據庫開發
    最新文章  
    ·搜集整理的asp.net的驗證方
    ·各種FOR循環結構的整理
    ·軟件項目開發中應該考慮那
    ·搜集整理的javascript sel
    ·軟件開發中項目經理有那些
    ·學習如何在Lambda表達式進
    ·C++基礎知識:結構體數據的
    ·C#實現短信發送程序的例子
    ·sun最近修補了一部分java的
    ·rss定制的另外一種實現方式
    ·delphi實現利用arp欺騙來實
    ·基礎學習:基于WF的流程框
    ·網絡編程中怎樣得知一次數
    ·如何逆序輸出單鏈表?
    ·軟件開發過程中的性能設計
    關于我們 | 軟件開發 | 下載試用 | 客服中心 | 聯系我們 | 友情鏈接 | 網站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發網 www.asuburbanlife.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯大廈A-5C 郵編:830000
     
    亚洲伊人成综合人影院小说,亚洲永久无码浪潮,思思99re8这里有精品热视频
    <bdo id="xkgs2"><xmp id="xkgs2">

    <bdo id="xkgs2"><progress id="xkgs2"><bdo id="xkgs2"></bdo></progress></bdo>

    <nobr id="xkgs2"></nobr>

    <bdo id="xkgs2"></bdo>

    <menuitem id="xkgs2"><xmp id="xkgs2"><menuitem id="xkgs2"></menuitem>
    <menuitem id="xkgs2"><font id="xkgs2"><samp id="xkgs2"></samp></font></menuitem><menuitem id="xkgs2"><xmp id="xkgs2"><menuitem id="xkgs2"><xmp id="xkgs2">

    <bdo id="xkgs2"><xmp id="xkgs2">

    <menuitem id="xkgs2"><xmp id="xkgs2">

    <bdo id="xkgs2"></bdo>
    <menuitem id="xkgs2"><xmp id="xkgs2"><samp id="xkgs2"></samp>

    <b id="xkgs2"><ins id="xkgs2"><samp id="xkgs2"></samp></ins></b>