5月18、19日兩天,我受公司委派參加安徽省信息中心舉辦的軟件質量管理與認證培訓班,感覺一般但收獲很大。這次培訓讓我明確了許多概念,澄清了許多誤區,對比公司軟件部門開發的現狀又有新的感受。我把這些寫出來,權當作本次學習的總結。
2 軟件質量管理
2-1 軟件質量之含義:
軟件質量是軟件產品對一組固有特性滿足要求的程度。這個要求是明示的、通常隱含的必須履行的需求和期望。由此而來,軟件需求是衡量軟件質量的基礎,軟件開發的質量保證活動必須是以需求為中心,強調在開發過程中強行遵守標準規范以達到控制質量的目的。 軟件中通常有一些不作明文規定的隱含需求,要盡量以文件的形式規定下來,這也是質量管理八大原則的以顧客為關注焦點的原則(下面會詳述)。
2-2 質量管理八項原則
1:以顧客為關注焦點
2:領導作用
3:全員參與
4:過程方法
5:持續改進
6:管理的系統方法
7:基于事實的決策方法
8:與供方互利的關系
各個原則的詳細敘述在講議的第五頁,這里不在浪費打印紙。首要原則是以顧客為關注焦點,要求充分了解客戶當前和未來的需求,滿足并爭取超越客戶的期望。強調需求是質量保證的基礎,也就是說搞清楚客戶要我們干什么。
2和3是要求最高領導必須重視質量管理,要發動所有員工學習和參與質量管理,這兩條強調質量管理中人對質量活動是最重要的,要充分調動員工的熱情,要求他們對質量活動的強制性給予理解和支持,并充分授權。
4到7是對人和其他資源的管理和決策。對人的管理,它基本要求分工明確,職責分明,目標清晰,充分溝通,自我評估和不斷更新改進,更重要的是它強調法制化管理。
8是對于合作伙伴和分包方來說的。
2-3 質量管理體系
質量管理體系就是把八項原則具體化,文件化。也就是說你按照質量管理體系的要求建立了你的管理架構并有效運行,那么你的企業質量活動就在自覺的貫徹落實質量管理八項原則,產品質量就有一定程度的保證。目前軟件行業流行的是ISO9001和美國SEI CMM質量管理體系標準,還有TL9000,TickIT,我國的國家標準是等同采用ISO標準。
各種質量管理體系都強調在過程方法上滿足PDCA模式,強調建立質量方針和目標,強調最高管理者在體系中的價值,并強調所有活動都建立在文件(文檔)之上。
2-4 質量管理體系認證
通過權威第三方證明你的質量體系是符合標準的。它的產生是由于以前各個國家的國家標準質量體系要求不一樣,因此要求出口方的質量體系必須符合本國國標才能對其產品質量給予認可,由此造成貿易壁壘,國際標準化組織也因此誕生,它授權給參加多邊認可協議的國家,讓該國根據ISO標準自行認證本國企業的質量體系,其它參加方必須認可該國的認證。由此消除因標準問題引起的貿易壁壘。
到了90年代,美國國防部為了評估分包方開發軟件和質量控制的能力,委托卡耐基梅隆大學軟件工程研究所(SEI)提出一套評估方案。1991年SEI推出能力成熟度模型(CMM)1.0版,該版本有5個類別,關于軟件的SW-CMM也就成了美國國防部對軟件分包方評估的標準,后來美國軟件企業發現它對推動軟件質量活動很有幫助,便紛紛參與CMM認證。CMM雖然不是國際標準,但越來越受到業界的關注,中國只有一家通過CMM 5級認證,是摩托羅拉軟件中心。CMM標準到2003年作廢,取而代之CMMI。
由于ISO通用性太高而針對性較低,一些國家又在制定針對軟件設計的標準(如美國的CMM),ISO于90年代開始制定針對軟件開發的標準SPICE,它和CMMI很類似,預計今年發布正式版本。
2-5 產品認證
這里澄清一個誤區,質量管理體系認證不是產品認證。產品認證是國家對特殊產品的要求,如殺毒軟件,防火墻要通過公安部認證等。質量管理體系認證是對企業質量管理架構在質量保證活動中的對質量保證能力的評價,非強制性的。