軟體開發質量管理層次模型(二)(轉)

ger8發表於2007-08-16
3 方法體系層次

3.1 措施質量管理層次

為提高軟體質量企業所採取的相關措施。決定成敗的不是目標,而是措施。任何好的規章制度或計劃,最終都需要具體措施才能落到實處。措施層次包括質量檢查、質量保證、預防不合格品、完美無缺。

3.1.1 質量檢查

保證質量的方式是進行臨時性的最後檢查,然後消除次品。軟體測試是軟體質量檢查的具體實現環節。把軟體測試有效地組織進軟體的生產流程,是軟體質量控制規劃的主要內容。

3.1.2 質量保證

質量目標仍主要透過生產部門或企業進行生產過程的最佳化和穩定化來保證質量目標的達成。從軟體產業的發展初期到目前的大型軟體開發過程,軟體質量保證已經成為開發中的一個不可分割的部分。

3.1.3 預防不合格品

整個軟體業專案屬於需求分析和軟體設計的錯誤和缺陷約佔軟體錯誤的64%,而屬於程式程式碼的錯誤僅佔36%。軟體錯誤具有隨著階段的進展而產生積累與放大效應,因此應當儘早消除錯誤,否則“差之毫釐,失之千里”。所以在軟體開發生命週期的前期就透過對關鍵過程成果的評審控制來預防不合格品。

3.1.4 完美無缺

這一級上的企業都有一種內在的質量文化氛圍,在此氛圍下的方方面面工作都有助於質量的提高。每個員工都意識到質量對企業成功的重要性,都在尋求提高質量的新途徑,都在為達到完美無缺而奮鬥。同時,企業始終如一地面向外部客戶,透過優越的設計質量來滿足客戶需要,並從供應商到客戶形成一個最佳化的管理流程。

3.2 專案管理質量層次

軟體開發任務一般是以專案的形式完成,專案管理質量包括組織資源、組建團隊、設定目標、確定範圍、確定優先順序、管理風險、建立溝通機制等內容,其層次分為通用術語、通用過程、單一方法、基準比較、持續改進。

科茲納博士對專案成功的定義,不僅要滿足傳統的專案時間、費用和效能的三大目標以及滿足客戶或使用者定義的質量標準,還要滿足具有最少的或者雙方同意的範圍變更、沒有干擾組織的企業文化或者價值觀、沒有干擾組織的日常工作程式等條件。

3.2.1 通用術語

企業瞭解了專案管理的重要性,並需要進一步瞭解對專案管理基礎知識以及相關的語言和術語。在企業內部普及專案管理基礎知識,使用業界通語言和用術語進行溝通,使大家形成對問題的正確理解。

3.2.2 通用過程

企業認識到自己需要定義和建立通用過程,以便在一個專案上成功之後,還可以將該過程及其成功經驗重複地用於其他許多個專案。在這一層次上,還包括理解專案管理原則對公司所用其他方法的應用和支援。

3.2.3 單一方法

企業儘量透過單一的方法開發,而不是使用多個方法,可以最好地實現協同效應和控制,認識到了把公司所以方法結合成一個單一方法所產生的協同效應,其核心是專案管理。與使用多個方法相比,只用一個方法所產生的協同效應使得程控更加容易。

3.2.4 基準比較

不斷將本企業的管理實踐與行業龍頭企業比較,以獲得資訊來幫助自己改善。企業認識到為了保持競爭優勢,過程改進是必要的。基準比較必須連續進行。公司必須決定以誰為基準點及需要比較什麼。

3.2.5 持續改進

質量是“沒有最好,只有更好”。企業持續在必要時評估基準比較中獲得的資訊,實施為改進過程所必要的變革。在 ISO9000:2000 中,持續改進不是一個單獨的過程或質量體系要素,而是管理質量體系的方法。

企業最重要的問題是“明天這樣做的比今天好”企業要永不滿足,沒有終點,永無休止地努力工作,追求進步和持續改進,為未來努力奮鬥。

3.3 過程質量管理層次

《GB/T8566—2001(idt ISO/IEC12207)資訊科技-軟體生存週期過程》把軟體生存週期的各個過程分為三類,即基本生存週期過程、支援生存週期過程、組織生存週期過程。

對於質量,強調的是對過程的重視,透過保證每個環節的工作質量,來保證最終質量,而不是透過最後的檢驗測試找出缺陷。它們的質量概念,不僅涵蓋產品,還包括企業的整個運營過程,貫穿產業鏈的各個環節。確保生產出高質量的軟體產品,就是遵循一套有質量原則的軟體開發過程。目前軟體過程改進主要根據能力成熟度模型整合CMMI,其層次分為初始級、可重複級、已定義級、已經管級、最佳化級。

3.3.1 初始級

企業的軟體過程是無序的,甚至是混亂的。幾乎沒有什麼過程是經過妥善定義的,專案的成功往往依賴於沒寫個人的技能和經驗。

3.3.2 可重複級

已經建立了基本的專案管理過程規範,專案經理能跟蹤成本、進度、和產品功能等,專案能重複以前的成功。企業的過程能力可以概括為“有紀律的”。

3.3.3 已定義級

已經將管理和開發兩個方面的過程文件化,並綜合成企業的標準軟體過程。所有專案都可以透過裁減企業標準過程而建立適合於本專案的過程規範。此過程能力可以概括成“標準的”和“一致的”,它建立在整個企業對軟體過程中的活動、角色、職責的共同理解之上。

3.3.4 已管理級

對軟體過程與產品都有定量的理解和控制,有專門的資料庫系統來收集和分析資料。此過程能力可以概括成“定量的”和“可預測的”。

3.3.5 最佳化級

能夠有效地識別企業過程的優勢和薄弱環節,發現並採用最佳的軟體工程實踐,預先防範過程和產品中的缺陷。整個企業強調持續地改進過程能力。


4 社會因素層次

4.1 企業質量環境層次

企業質量環境是有關建立和管理質量環境的管理,包括質量規劃、資源組織、提供相關工具等,其層次可分為質量形象、質量制度、質量戰略、質量文化、企業文化、全社會質量意識。

4.1.1 質量形象

企業的良好形象與其產品和服務的高質量密不可分。質量、信譽、品牌、服務等構成企業整體形象的堅實基礎,其中質量形象是企業形象的核心。塑造良好的質量形象是企業提高自身核心競爭力的重要手段。

4.1.2 質量制度

企業建立了完善的質量制度,包括ISO9001質量管理體系、與質量相關的配套管理、教育、激勵制度的完善程度,以及對於質量制度的執行力度。

有些企業或部門制定了太多的規章制度,但都流於形式,最終落到實處的不多。再好的規章制度,再偉大的計劃,都成了一堆廢紙。對企業來說,最重要的不是制定了多少制度多少計劃,而是做了多少事情。

企業如果強調質量,就要檢查質量,不檢查質量就是不重視質量,有制度就必須執行好。

4.1.3 質量戰略

在企業管理中以人為本,以提高質量為中心,一切活動圍繞質量行為,將質量管理提高到戰略的高度。制定質量方針目標。

4.1.4 質量文化

企業在長期的質量管理中形成的具有本企業特色的管理思想和精神理念,同時也是企業員工為實現質量方針目標而自覺遵守的一條共同的價值觀和信念。

4.1.5 企業文化

一個企業中各個部門,至少是企業高層管理者們所共同擁有的那些企業價值觀念、經營實踐、文化現象。它以企業的價值觀體系為基礎,以企業員工的群體意識形態為反映。

4.1.6 全社會質量意識

產品質量不完全取決於企業本身,社會環境、顧客的成熟程度對產品質量起到比較重要的作用。顧客盲目壓低價格、壓縮排度,造成的惡性競爭環境嚴重影響產品的質量。

4.2 標準層次

國際競爭有三個層次:第一個層次是價格和質量的競爭、第二個層次是專利技術的競爭、第三個層次是標準和制度的競爭。誰掌握了標準的使用,誰掌握了標準的制定權,誰就可以搶佔先機。一流企業賣標準,二流企業賣品牌,三流企業賣產品,四流企業賣企業。我國軟體企業要適應更高層次的競爭,就要在標準領域佔據一席之地。

標準主要包括技術標準和業務標準兩大類(當然還可以其他分類如基礎標準、產品標準、質量標準、管理標準、工作標準、安全標準、術語標準等等)。對標準化領域中需要協調統一的技術事項所制定的標準,稱為技術標準。技術標準包含兩個方面:一是作為軟體開發企業的軟體行業技術標準,包括知識體系指南、過程標準、建模標準、質量管理標準、程式語言標準、資料庫標準;二是軟體開發服務物件所在的行業技術標準,如安全保密標準、技術效能標準。業務標準指的是軟體開發服務物件所在的組織或行業制定的業務流程標準和業務資料標準等。

運用統一的技術與業務標準是對於質量能夠做出重大而且顯著貢獻的因素之一,有助於減少無效的討論,有助於不同的產品之間的相容和銜接。

標準要不斷地與時俱進,因此,標準是種動態資訊。

4.2.1 標準作用範圍級別

專案標準:專案團隊在軟體開發週期的早期就確定下來的相互達成一致的標準集合;

企業標準:企業自行制定的規範整個企業架構和所有企業級交付產品的標準集合;

地方標準:由一個國家的地方一級行政機構(省、州或加盟共和國)制定的標準,稱為地方標準。它一般由地方所屬的各企業與單位執行。同樣是一個行業,每個地方可能有不同的業務政策、業務資料標準、業務流程標準;

行業標準(部頒標準):指沒有國家標準而又需要在全國某個行業範圍內統一的技術要求。行業規定的全國本行業必須遵守的的業務資料標準、業務流程標準,標準編號一般以行業名稱的拼音頭個字母打頭,如環境HJ、電力DL、公安GA;

國家標準:是在全國範圍內統一的技術要求。由國家規定的標準,主要是資料標準,行業之間的介面標準,標準編號一般以GB、GB/T、GB/Z打頭。

國際標準:涉及到國際上多個國家或地區必須遵守的如金融、電信、財務、貿易等業務標準。國際標準一般由國際標準化組織制定,如ISO、ANSI、IEEE等等,這也是標準編號的打頭字母,如ISO9001。

4.2.2 標準強制程度級別

強制標準:保障人體健康、人身、財產安全的標準和法律、行政法規規定強制執行的標準是強制性標準,其他標準是推薦性標準;如編號以GB、HJ、DL、GA字母開頭的標準,一般業務資料標準是強制標準。

推薦標準:推薦性標準又稱非強制性標準或自願性標準。是指生產、交換、使用等方面,透過經濟手段或市場調節而自願採用的一類標準。如GB/T、HJ/T、DL/T、GA/T,一般業務流程標準、工作規範或指南等是推薦標準。

指導性標準:對標準化工作的原則和一些具體做法的統一規定,稱為指導性標準。例如:產品型號編制規則、各類標準編制導則等。如GB/Z、HJ/Z、DL/Z、GA/Z編號的標準。

4.2.3 軟體開發常用技術標準

知識體系:軟體工程知識體系指南SWEBOK2004、專案管理知識體系指南PMBOK2000(最新的是PMBOK2004)、組織管理標準等等;

過程標準:CMMI、PSP、TSP、RUP、軟體工程規範國家標準;(AP、XP、ASD等開發過程思想好像還不能稱其為標準)

建模標準:UML、軟體工程規範國家標準;

質量管理標準:ISO9001:2000、TQC、6σ;

程式語言標準:Java、C++、PB、程式設計規範;

資料庫標準:Oracle資料庫後臺規範。


4.3 人員質量管理層次

人員質量是所有工作質量的基礎。要提高工作質量,就要以人為本,根本的問題是提高人的質量。人員質量就是人員素質,層次分為個人素質、團隊素質、組織素質、行業素質、國民素質。

4.3.1 個人素質

軟體開發的個人素質的內涵很廣,包含多個方面,包括學習能力、總結能力、學識經驗、進取精神、社交能力、責任心、自我控制、成就動機、靈活性、創造性潛力、管理潛力、工作態度、誠實水平等等。關鍵是根據自身特點發揮自己的特長,同時要有過硬紮實基本功的真才實學,不做表面功夫花架子的花拳繡腿。這一點在做程式設計師的時候大家都會很注意學習,但在從程式設計師提升到設計師、分析師、專案經理時,往往存在不注意學習新角色所需知識技能,學了皮毛就覺得什麼都會的情況。

4.3.2 團隊素質

軟體開發的團隊素質的範圍涉及到很多團隊管理方面的知識經驗技巧。關鍵是能夠合理地按照成員的特點分配工作任務,同時計劃好各個工作人員的工作介面,鼓勵互相補位。團隊素質的提高在於團隊建設,團隊建設活動包括為提高團隊運作水平而進行的管理,以及採用的專門的、重要的個別措施。團隊精神就是團隊的精神,因此要問某個團隊有沒有團隊精神,不問某個成員有沒有團隊精神。

軟體開發團隊素質可以學習參考TSP、RUP、SWEBOK、PMBOK、CMMI、ISO9001等要求進行提高,也可以借鑑AP、XP、ASD等開發經驗(不管那種都不一定要完全照搬實施)。

4.3.3 組織素質

軟體開發的組織素質內涵涉及到很多組織管理方面的知識經驗技巧。組織應當為實現共同的願景,建立學習型的組織,不斷持續改進。企業組織高層領導可以不必需要那麼多軟體開發的專業知識,最主要是要認識到人是一切活動的核心,是一切活動成功的前提,所以要尊重專業人員使其發揮作用。根據彼得原理,大部分領導因為在某些方面突出而被提拔到他無法勝任的位置,因此有些被提拔上去的領導急於證明自己樣樣精通是可笑的。領導最重要的是選對人、用對人、激勵人、提高人,使每個人都充分發揮應有的作用。

4.3.4 行業素質

行業素質有兩層意思,一是作為軟體開發企業的軟體行業,另一個是軟體開發服務物件所在的行業。行業素質可以從幾個方面看,如行業機構的健全程度,行業學術的活躍程度,行業標準制定的完整程度、適用程度、先程式度,行業標準規範的推廣力度和程度,行業從業人員的規模及總體水平,行業外貿出口金額,例如,為什麼印度的軟體外貿出口金額讓中國望塵莫及?為什麼印度可以擁有那麼龐大的軟體藍領隊伍?印度軟體企業對CMMI是什麼態度,中國軟體企業對CMMI是什麼態度?為什麼對於AP、XP、“顛覆軟體工程”的片面理解在中國大有市場?

(注意:《軟體工藝》實際上是從另一個角度來強調“個人素質”的重要性,實際上是要說明組織性規範性和創造性特色性之間的平衡,就像《軟體工藝》自己所說的那樣,“軟體工藝並非與軟體工程或者電腦科學針鋒相對,格格不入。與科學和工程學相比,軟體工藝是另一種完全不同的教義,但又能與這兩者很好地共存,並從中獲益,它融合了藝術、科學、工程學三者”。如果因為強調“個人素質”的作用,強調作坊工藝的作用,而否定團隊開發、和使用有效地分析設計方法和過程,就是走向了另一個極端。《軟體工藝》把軟體的缺陷狹隘地定義成“程式設計師所犯的錯誤”,所以其結論是“真正決定專案成敗的,是作為個體的程式設計師的技能、知識和經驗。”實際上如果在需求、分析或設計上犯了錯,或者在專案管理上犯了錯,其造成的缺陷比“程式設計師所犯的錯誤”的影響不知道要大多少。另外極限程式設計所需的程式設計師隨時直接與使用者交談的條件也是大多數軟體開發專案很難滿足的。)

4.3.5 國民素質

中國的國民素質與其他國家相比,有些地方是高的,有些地方是不足的。我們要發揚我們的優點,同時也要學習別人的優點,彌補自己的缺點。自己過去為什麼會被人看不起、會被人侵略?發幾句牢騷,喊幾句口號起得了什麼作用?我們應當從自己和他人兩個方面同時查詢原因。關鍵是不斷提高自身的整體素質,增強國力。如果我們看看歐美日等國家的企業是如何進行質量管理的,就不難理解他們的產品質量為什麼那麼好,甚至連印度在軟體質量管理等方面也有很多值得我們學習的地方。

5 結語

人是一切人類活動的基礎,要提高軟體開發質量,就必須以人為本,首先提高人的質量。透過標準化、規範化的建設和落實,透過建立良好的社會和企業質量環境,在企業內部不斷改進開發過程質量、專案管理質量,改進質量措施。針對具體專案進行良好的分析設計規劃,編寫出質量優良的系統程式,確保資料(資訊)及其管理的質量,為客戶、為社會提供滿意的產品和服務。

6 參考文獻

Oddur Benediktsson :Software Engineering Body of Knowledge and Curriculum Development;
IEEE :Guide to the Software Engineering Body of Knowledge, 2004 Version;
Mary B Poppendieck、Thomas D Poppendieck:A Rational Design Process – It’s Time to Stop Faking It;
Pete McBreen《軟體工藝》(熊節譯);
居德華教授:資訊化建設需要抓好四個工程;
Harold Kerzner:《專案管理—計劃、進度和控制的系統方法》(第7版)(電子工業出版社,楊愛華等譯);
Harold Kerzner:《專案管理的戰略規劃:專案管理成熟度模型的應用》(電子工業出版社,張增華 呂義懷等譯);
Neal Whitten:《管理軟體開發專案》(第二版)(軟體專案管理系列叢書,孫豔春等譯);
Bhuvan Unhelkar:《基於UML的軟體專案的過程質量保障》(軟體工程叢書,曹學軍等譯);
《計算機軟體工程規範國家標準彙編2003》中國標準出版社;
鄭人傑、殷人昆、陶永雷:《實用軟體工程》第二版(清華大學出版社);
Roger S.Pressman:《軟體工程:實踐者的研究方法》(第5版)(機械工業出版社-電腦科學叢書);
Stephen R. Schach《軟體工程:Java語言的實現》(機械工業出版社-電腦科學叢書);
《質量總監至尊管理》現代企業高層管理課題組(傑出高層經理人手冊);
龔波《能力成熟度模型整合及其應用》(中國水利電力出版社);
陶篤純等《網站建設專案管理》(人民郵電出版社-專案管理叢書)
耿繼秀《資訊工程—建立企業計算機資訊系統的工程》(清華大學出版社)
王功民《以人為本》(企業管理出版社-人力資源管理教室)
《ISO9001:2000質量管理體系的要求》;
《PMBOK-2000》PMI;
《PMBOK-2004》PMI;[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7839396/viewspace-961182/,如需轉載,請註明出處,否則將追究法律責任。

相關文章