http://www.51cto.com 2005-12-31 16:35 作者:熊繩祖 出處:amteam.org
質(zhì)量,一直是企業(yè)生存的根本。軟件作為一種高智力的創(chuàng)造活動,既具有制造業(yè)的一般特性,同時又由于其知識性強、創(chuàng)造性大,而具有一般制造業(yè)所沒有的特點。所以軟件質(zhì)量管理既要秉承制造業(yè)質(zhì)量管理的一般原則和思想,又要針對軟件的特點,而具有自身的規(guī)范。制定出標(biāo)準(zhǔn)、有效、可操作性強的軟件質(zhì)量管理規(guī)范,對于實行軟件產(chǎn)業(yè)化,提高生產(chǎn)效率,增強競爭力具有重要意義。
近年來,國際上軟件業(yè)按照ISO 9000體系框架和要素的要求,緊密結(jié)合軟件的特點,制定出在軟件設(shè)計、開發(fā)、供應(yīng)、維護(hù)等各個方面的國際標(biāo)準(zhǔn),來提高軟件開發(fā)管理水平, 控制產(chǎn)品質(zhì)量。各國企業(yè)把ISO 9000質(zhì)量體系認(rèn)證作為加強質(zhì)量管理、提高企業(yè)競爭力的一張王牌。每個通過質(zhì)量認(rèn)證的企業(yè)都取得了意想不到的效果,產(chǎn)生了巨大的社會效益和經(jīng)濟(jì)效益。
ISO900族標(biāo)準(zhǔn)的基本思想就在于一個組織要確定其質(zhì)量目標(biāo),并按照其確定的質(zhì)量目標(biāo)建立并有效實施質(zhì)量體系,確保影響產(chǎn)品質(zhì)量的技術(shù)、管理和人的因素處于受控狀態(tài) ,所有的控制應(yīng)針對減少和消除不合格,尤其是預(yù)防不合格,并建立和完善持續(xù)的質(zhì)量改進(jìn)機(jī)制。它由一系列規(guī)則和協(xié)議組成,由專門的組織機(jī)構(gòu)以一系列的管理制度和工具來保證貫徹實施。根據(jù)《質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn)第三部分:GB/T 19001-ISO 9001在軟件開發(fā)、供應(yīng)和維護(hù)中的使用指南》中規(guī)定,質(zhì)量體系包括一系列的支持活動要素,同時這些支持活動也為質(zhì)量體系的實施提供保證。
配置管理的作用
在質(zhì)量體系的諸多支持活動中,配置管理處在支持活動的中心位置,它有機(jī)地把其它支持活動結(jié)合起來,形成一個整體,相互促進(jìn),相互影響,有力地保證了質(zhì)量體系的實施。
隨著計算機(jī)應(yīng)用的深入,軟件項目的需求日益復(fù)雜及變更頻繁,傳統(tǒng)的一、二個人搞定一個項目的情況越來越少,稍大一點的項目已經(jīng)不再是靠某個"高手"從頭到尾包辦。從整個公司的發(fā)展戰(zhàn)略來說,如何在技術(shù)日新月異、人員流動頻繁的情況下,建立本公司的知識庫及經(jīng)驗庫,把個人的知識及經(jīng)驗轉(zhuǎn)變?yōu)楣镜闹R和經(jīng)驗,這對于提高工作效率,縮短產(chǎn)品周期,加強公司的競爭力具有至關(guān)重要的作用。采用科學(xué)的配置管理思想,輔之以先進(jìn)的配置管理工具,這對國際知名軟件大公司來說,已經(jīng)是必不可少的手段。
但同發(fā)達(dá)國家相比,我國的軟件企業(yè)在開發(fā)管理上,過分依賴個人的作用,沒有建立起協(xié)同作戰(zhàn)的氛圍,沒有科學(xué)的軟件配置管理流程;技術(shù)上只重視系統(tǒng)和數(shù)據(jù)庫、開發(fā)工具的選擇,而忽視配置管理工具的選擇,導(dǎo)致即使有配置管理的規(guī)程,也由于可操作性差而擱淺。以上種種原因?qū)е麻_發(fā)過程中普遍存在如下一些問題:
1、開發(fā)管理松散
部門主管無法確切得知項目的進(jìn)展情況,項目經(jīng)理也不知道各開發(fā)人員的具體工作,項目進(jìn)展隨意性很大,可"左"可"右"。"左"時按領(lǐng)導(dǎo)下達(dá)的"期限"進(jìn)行,到期時,似乎一切已順利完成,大家一陣胡弄,交差完成,反正領(lǐng)導(dǎo)看的是界面,至于里面是什么,留到施工時再說。施工時的工作因此變成了無法匯報、無法理清的無休止的維護(hù)。"右"時則項目工期無休止地延期。對我們軟件工程來說,總的特點是先"左"后"右"。在領(lǐng)導(dǎo)面前表現(xiàn)"左",在用戶面前表現(xiàn)"右"。
2、項目之間溝通不夠
各個開發(fā)人員各自為政,編寫的代碼不僅風(fēng)格各異,而且編碼和設(shè)計脫節(jié)。本來開發(fā)中錯誤在所難免,但項目開發(fā)人員怕溝通,似乎那是針對自已的批斗會,互相推諉責(zé)任。開發(fā)大量重復(fù),留下大量難維護(hù)的代碼。
3、文檔與程序嚴(yán)重脫節(jié)
軟件產(chǎn)品是公司的寶貴財富,代碼的重用率是相當(dāng)高的,如何建好知識庫,用好知識庫對公司優(yōu)質(zhì)高效開發(fā)產(chǎn)品,具有重大的影響。但開發(fā)人員的一句名口號是:"叫我干什么都可以,但別叫我看別人的程序"。當(dāng)然,開發(fā)人員的工作態(tài)度要轉(zhuǎn)變,但客觀上有一個很重要的原因是:前人留下的程序既無像樣的文檔(即使留下了文檔 ,其與源程序也嚴(yán)重脫節(jié)),開發(fā)風(fēng)格又不統(tǒng)一,就像一堆垃圾,要開發(fā)人員到垃圾中去撿破爛,從這個角度上看,開發(fā)人員的要求是合理的。
4、測試工作不規(guī)范
傳統(tǒng)的開發(fā)方式中,測試工作只是人們的一種主觀愿望,根本無法提出具體的測試要求,加之開發(fā)人員的遮丑,測試工作往往是走一走過場,測試結(jié)果既無法考核又無法量化,當(dāng)然就無法對以后的開發(fā)工作起指導(dǎo)作用。
5、施工周期過長,且開發(fā)人員必須親臨現(xiàn)場
傳統(tǒng)的開發(fā)與施工是絕對統(tǒng)一的,別人無法接手也無意接手(因為這意味著看別人的程序)。由于應(yīng)用軟件的特點,各個不同的施工點有不同的要求,開發(fā)人員要手工地保持多份不同的拷貝,即使是相同的問題,但由于在不同地方提出,由不同人解決,其做法也不同,程序的可維護(hù)性越來越差。久而久之,最后連自已都分不清楚了,代碼的相互覆蓋現(xiàn)象時有發(fā)生,且這苦水還無法傾訴,因為怕別人笑話,甚至別人問起,還得想法搪塞,可謂費盡苦心。
針對以上問題,國內(nèi)很多軟件企業(yè)已經(jīng)逐漸認(rèn)識到配置管理的重要性,在國外一些成熟的配置管理工具的輔助下,制定相應(yīng)的配置管理策略,取得了很好的成效。
配置管理經(jīng)驗談
圍繞配置管理,世界一些致力于軟件工程研究的公司在深入理解ISO 9000的基礎(chǔ)上, 推出了各種符合ISO 9000配置管理標(biāo)準(zhǔn)的工具軟件,如INTERSOLV公司的PVCS,Rational公司的Clear Case等。這些配置管理工具面向軟件規(guī)范化、工程化、自動化的需要,幫助開發(fā)團(tuán)隊提高科學(xué)管理水平,從而提高工程效率,降低工程成本?,F(xiàn)以PVCS為例,結(jié)合我們的實際經(jīng)驗,談?wù)勎覀儗嵤┡渲霉芾淼囊嫣?
1. 節(jié)約費用
(1) 縮短開發(fā)周期
利用PVCS的Version Manager對程序資源進(jìn)行版本管理和跟蹤,建立公司的代碼知識庫,保存開發(fā)過程中每一過程版本,這樣大大提高了代碼的重用率,還便于同時維護(hù)多個版本和進(jìn)行新版本的開發(fā),防止系統(tǒng)崩潰,最大限度地共享代碼。同時項目管理人員可以通過Version Manager查看項目開發(fā)日志,測試人員可以根據(jù)開發(fā)日志和不同版本對軟件進(jìn)行測試,工程人員可以從Version Manager上得到不同的運行版本,并且Version Manager 可以安裝在Web Server供外地施工人員存取最新版本,無需開發(fā)人員親臨現(xiàn)場。
利用Tracker組建開發(fā)團(tuán)體之間的問題跟蹤及消息通迅,通過其Notify模塊與電子郵件結(jié)合起來大大加強了開發(fā)團(tuán)體之間的溝通,Reporter模塊可對發(fā)現(xiàn)的問題進(jìn)行整理、以報表方式分類報出,作為開發(fā)的指導(dǎo)。
以上為PVCS的兩個主要模塊,科學(xué)地應(yīng)用可以大大提高開發(fā)效率,避免了代碼覆蓋、溝通不夠、開發(fā)無序的混亂局面,如果利用了公司原有的知識庫,則更能提高工作效率,縮短開發(fā)周期。
(2) 減少施工費用
利用PVCS進(jìn)行軟件配置管理后,建立開發(fā)管理規(guī)范,把版本管理檔案掛接在公司內(nèi)部的Web服務(wù)器上,內(nèi)部直接通過Netscape訪問Version Manager,工程人員通過遠(yuǎn)程進(jìn)入內(nèi)部網(wǎng),獲取所需的最新版本。開發(fā)人員無需下現(xiàn)場,現(xiàn)場工程人員通過對方系統(tǒng)管理員收集反饋意見,書面提交到公司內(nèi)部開發(fā)組項目經(jīng)理,開發(fā)組內(nèi)部討論決定是否修改,并作出書面答復(fù)。這樣做,可以同時響應(yīng)多個項目點,防止開發(fā)人員分配到各個項目點、分散力量、人員不夠的毛病,同時節(jié)約大量的旅差費用。
2. 有利于知識庫的建立
(1) 代碼對象庫
軟件代碼是軟件開發(fā)人員腦力勞動的結(jié)晶,也是軟件公司的寶貴財富,長期開發(fā)過程中形成的各種代碼對象就像一個個零件坯一樣,是快速生成系統(tǒng)的組成部分。長期的一個事實是:一旦某個開發(fā)人員離開工作崗位,其原來所作的代碼便基本成為垃圾,無人過問。究其原因,就是沒有專門對各人的有用對象進(jìn)行管理,把其使用范圍擴(kuò)大到公司一級,進(jìn)行規(guī)范化,加以說明和普及。Version Manager為對象管理提供了一個平臺和倉庫,有利于建立公司級的代碼對象庫。
(2) 業(yè)務(wù)及經(jīng)驗庫
通過PVCS Version Manager的注釋及Tracker,可形成完整的開發(fā)日志及問題集合,以文字方式伴隨開發(fā)的整個過程,不依某個人的轉(zhuǎn)移而消失,有利于公司積累業(yè)務(wù)經(jīng)驗,無論對版本整改或版本升級,都具有重要的指導(dǎo)作用。
3. 規(guī)范管理
(1) 量化工作量考核
傳統(tǒng)的開發(fā)管理中,工作量一直是難以估量的指標(biāo),靠開發(fā)人員自已把握,隨意性相當(dāng)大;靠管理人員把握,主觀性又太強。采用PVCS管理后,開發(fā)人員每天下班前對修改的文件 Check In,其中記述當(dāng)天修改細(xì)節(jié)描述,這些描述可以作為工作量的衡量指標(biāo)。
(2) 規(guī)范測試
采用PVCS以后,測試有了實實在在的工作,測試工作人員根據(jù)每天的修改細(xì)節(jié)描述對每一天的工作做具體的測試,對測試人員也具有可考核性,這樣環(huán)環(huán)相扣,大大減少了其工作的隨意性。
(3) 加強協(xié)調(diào)與溝通
采用PVCS后,通過Version Manager文檔共享及其特定鎖機(jī)制、Tracker與電子郵件的集成,大大加強了項目成員之間的溝通,做到有問題及時發(fā)現(xiàn)、及時修改、及時通知,但又不額外增加很多的工作量。
結(jié)束語
眾所周知,管理工具軟件只是管理思想的載體,提供一個好的平臺,而導(dǎo)演還是人,針對配置管理軟件,我們應(yīng)該根據(jù)ISO 9000各質(zhì)量要素的要求,轉(zhuǎn)變我們的觀念及管理思維 ,制定科學(xué)的配置管理規(guī)程,結(jié)合ISO 9000其它各項支持活動,保證在質(zhì)量體系的各生存周期活動中全面實施有效的質(zhì)量管理,實現(xiàn)我國軟件產(chǎn)業(yè)的標(biāo)準(zhǔn)化、產(chǎn)業(yè)化。
|