配置管理——實施軟件質量管理的關鍵

配置管理——實施軟件質量管理的關鍵

質量,一直是企業生存的根本。軟件作爲一種高智力的創造活動,既具有製造業的一般特性,同時又由於其知識性強、創造性大,而具有一般製造業所沒有的特點。所以軟件質量管理既要秉承製造業質量管理的一般原則和思想,又要針對軟件的特點,而具有自身的規範。制定出標準、有效、可操作性強的軟件質量管理規範,對於實行軟件產業化,提高生產效率,增強競爭力具有重要意義。

近年來,國際上軟件業按照ISO 9000體系框架和要素的要求,緊密結合軟件的特點,制定出在軟件設計、開發、供應、維護等各個方面的國際標準,來提高軟件開發管理水平, 控制產品質量。各國企業把ISO 9000質量體系認證作爲加強質量管理、提高企業競爭力的一張王牌。每個通過質量認證的企業都取得了意想不到的效果,產生了巨大的社會效益和經濟效益。

ISO900族標準的基本思想就在於一個組織要確定其質量目標,並按照其確定的質量目標建立並有效實施質量體系,確保影響產品質量的技術、管理和人的因素處於受控狀態 ,所有的控制應針對減少和消除不合格,尤其是預防不合格,並建立和完善持續的質量改進機制。它由一系列規則和協議組成,由專門的組織機構以一系列的管理制度和工具來保證貫徹實施。

根據《質量管理和質量保證標準第三部分:GB/T 19001-ISO 9001在軟件開發、供應和維護中的使用指南》中規定,質量體系包括一系列的支持活動要素,同時這些支持活動也爲質量體系的實施提供保證。

配置管理的作用

在質量體系的諸多支持活動中,配置管理處在支持活動的中心位置,它有機地把其它支持活動結合起來,形成一個整體,相互促進,相互影響,有力地保證了質量體系的實施。

隨着計算機應用的深入,軟件項目的需求日益複雜及變更頻繁,傳統的一、二個人搞定一個項目的情況越來越少,稍大一點的項目已經不再是靠某個"高手"從頭到尾包辦。從整個公司的發展戰略來說,如何在技術日新月異、人員流動頻繁的情況下,建立本公司的知識庫及經驗庫,把個人的知識及經驗轉變爲公司的知識和經驗,這對於提高工作效率,縮短產品週期,加強公司的競爭力具有至關重要的作用。採用科學的配置管理思想,輔之以先進的配置管理工具,這對國際知名軟件大公司來說,已經是必不可少的手段。

但同發達國家相比,我國的軟件企業在開發管理上,過分依賴個人的作用,沒有建立起協同作戰的氛圍,沒有科學的軟件配置管理流程;技術上只重視系統和數據庫、開發工具的選擇,而忽視配置管理工具的選擇,導致即使有配置管理的規程,也由於可操作性差而擱淺。以上種種原因導致開發過程中普遍存在如下一些問題:

  1. 開發管理鬆散。部門主管無法確切得知項目的進展情況,項目經理也不知道各開發人員的具體工作,項目進展隨意性很大,可"左"可"右"。"左"時按領導下達的"期限"進行,到期時,似乎一切已順利完成,大家一陣胡弄,交差完成,反正領導看的是界面,至於裏面是什麼,留到施工時再說。施工時的工作因此變成了無法彙報、無法理清的無休止的維護。"右"時則項目工期無休止地延期。對我們軟件工程來說,總的特點是先"左"後"右"。在領導面前表現"左",在用戶面前表現"右"。

  2. 項目之間溝通不夠。各個開發人員各自爲政,編寫的代碼不僅風格各異,而且編碼和設計脫節。本來開發中錯誤在所難免,但項目開發人員怕溝通,似乎那是針對自已的批鬥會,互相推諉責任。開發大量重複,留下大量難維護的代碼。

  3. 文檔與程序嚴重脫節。軟件產品是公司的寶貴財富,代碼的重用率是相當高的,如何建好知識庫,用好知識庫對公司優質高效開發產品,具有重大的影響。但開發人員的一句名口號是:"叫我幹什麼都可以,但別叫我看別人的程序"。當然,開發人員的工作態度要轉變,但客觀上有一個很重要的原因是:前人留下的程序既無像樣的文檔(即使留下了文檔 ,其與源程序也嚴重脫節),開發風格又不統一,就像一堆垃圾,要開發人員到垃圾中去撿破爛,從這個角度上看,開發人員的要求是合理的。

  4. 測試工作不規範。傳統的開發方式中,測試工作只是人們的一種主觀願望,根本無法提出具體的測試要求,加之開發人員的遮醜,測試工作往往是走一走過場,測試結果既無法考覈又無法量化,當然就無法對以後的開發工作起指導作用。

  5. 施工週期過長,且開發人員必須親臨現場。傳統的開發與施工是絕對統一的,別人無法接手也無意接手(因爲這意味着看別人的程序)。由於應用軟件的特點,各個不同的施工點有不同的要求,開發人員要手工地保持多份不同的拷貝,即使是相同的問題,但由於在不同地方提出,由不同人解決,其做法也不同,程序的可維護性越來越差。久而久之,最後連自已都分不清楚了,代碼的相互覆蓋現象時有發生,且這苦水還無法傾訴,因爲怕別人笑話,甚至別人問起,還得想法搪塞,可謂費盡苦心。

針對以上問題,國內很多軟件企業已經逐漸認識到配置管理的重要性,在國外一些成熟的配置管理工具的輔助下,制定相應的配置管理策略,取得了很好的成效。

配置管理經驗談

圍繞配置管理,世界一些致力於軟件工程研究的公司在深入理解ISO 9000的基礎上, 推出了各種符合ISO 9000配置管理標準的工具軟件,如INTERSOLV公司的PVCS,Rational公司的Clear Case等。這些配置管理工具面向軟件規範化、工程化、自動化的需要,幫助開發團隊提高科學管理水平,從而提高工程效率,降低工程成本。現以PVCS爲例,結合我們的實際經驗,談談我們實施配置管理的益處:

1. 節約費用

(1) 縮短開發週期

利用PVCS的Version Manager對程序資源進行版本管理和跟蹤,建立公司的代碼知識庫,保存開發過程中每一過程版本,這樣大大提高了代碼的重用率,還便於同時維護多個版本和進行新版本的開發,防止系統崩潰,最大限度地共享代碼。同時項目管理人員可以通過Version Manager查看項目開發日誌,測試人員可以根據開發日誌和不同版本對軟件進行測試,工程人員可以從Version Manager上得到不同的運行版本,並且Version Manager 可以安裝在Web Server供外地施工人員存取最新版本,無需開發人員親臨現場。

利用Tracker組建開發團體之間的問題跟蹤及消息通迅,通過其Notify模塊與電子郵件結合起來大大加強了開發團體之間的溝通,Reporter模塊可對發現的問題進行整理、以報表方式分類報出,作爲開發的指導。

以上爲PVCS的兩個主要模塊,科學地應用可以大大提高開發效率,避免了代碼覆蓋、溝通不夠、開發無序的混亂局面,如果利用了公司原有的知識庫,則更能提高工作效率,縮短開發週期。

(2) 減少施工費用

利用PVCS進行軟件配置管理後,建立開發管理規範,把版本管理檔案掛接在公司內部的Web服務器上,內部直接通過Netscape訪問Version Manager,工程人員通過遠程進入內部網,獲取所需的最新版本。開發人員無需下現場,現場工程人員通過對方系統管理員收集反饋意見,書面提交到公司內部開發組項目經理,開發組內部討論決定是否修改,並作出書面答覆。這樣做,可以同時響應多個項目點,防止開發人員分配到各個項目點、分散力量、人員不夠的毛病,同時節約大量的旅差費用。

2. 有利於知識庫的建立

(1) 代碼對象庫

軟件代碼是軟件開發人員腦力勞動的結晶,也是軟件公司的寶貴財富,長期開發過程中形成的各種代碼對象就像一個個零件坯一樣,是快速生成系統的組成部分。長期的一個事實是:一旦某個開發人員離開工作崗位,其原來所作的代碼便基本成爲垃圾,無人過問。究其原因,就是沒有專門對各人的有用對象進行管理,把其使用範圍擴大到公司一級,進行規範化,加以說明和普及。Version Manager爲對象管理提供了一個平臺和倉庫,有利於建立公司級的代碼對象庫。

(2) 業務及經驗庫

通過PVCS Version Manager的註釋及Tracker,可形成完整的開發日誌及問題集合,以文字方式伴隨開發的整個過程,不依某個人的轉移而消失,有利於公司積累業務經驗,無論對版本整改或版本升級,都具有重要的指導作用。

3. 規範管理

(1) 量化工作量考覈

傳統的開發管理中,工作量一直是難以估量的指標,靠開發人員自已把握,隨意性相當大;靠管理人員把握,主觀性又太強。採用PVCS管理後,開發人員每天下班前對修改的文件 Check In,其中記述當天修改細節描述,這些描述可以作爲工作量的衡量指標。

(2) 規範測試

採用PVCS以後,測試有了實實在在的工作,測試工作人員根據每天的修改細節描述對每一天的工作做具體的測試,對測試人員也具有可考覈性,這樣環環相扣,大大減少了其工作的隨意性。

(3) 加強協調與溝通

採用PVCS後,通過Version Manager文檔共享及其特定鎖機制、Tracker與電子郵件的集成,大大加強了項目成員之間的溝通,做到有問題及時發現、及時修改、及時通知,但又不額外增加很多的工作量。

結束語

衆所周知,管理工具軟件只是管理思想的載體,提供一個好的平臺,而導演還是人,針對配置管理軟件,我們應該根據ISO 9000各質量要素的要求,轉變我們的觀念及管理思維 ,制定科學的配置管理規程,結合ISO 9000其它各項支持活動,保證在質量體系的各生存週期活動中全面實施有效的質量管理,實現我國軟件產業的標準化、產業化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章