近年來中國的軟件業(yè)蓬勃發(fā)展,頗有星星之火可以燎原之勢。然而在眾多企業(yè)不斷引進新技術的同時,軟件業(yè)的管理理念卻相對滯后,類似手工作坊模式的生產模式依舊,“軟件工廠”成了可望而不可及的目標。針對于此,企業(yè)對高級軟件項目經(jīng)理人求賢若渴,試圖改進其內部落后的管理模式。在一些成功的軟件項目調查中顯示,有效的軟件質量管理在項目中起了至關重要的作用,甚至對企業(yè)管理、企業(yè)文化也產生了深遠的影響。
一、質量概念中的兩大要素
著名美國質量管理專家Philip B.Crosby于1961年提出了“零缺陷”的概念,并被稱之“質量革命”。1979年他出版了《Quality is e》一書,闡述了他的新的質量管理思想,并認為“質量就是符合需求”。經(jīng)過近幾十年軟件開發(fā)思想的積累,關于質量的概念不斷深入,Crosby的質量定義用更為精確與更具實際操作性的方式表示就是:質量是相對于某個(某些)人而言的價值。此定義明確提出了質量的相對性,也明確了質量不能脫離人而抽象存在的性質。這些進步對于我們正視軟件開發(fā)中實際發(fā)生的質量問題是非常重要的。
質量的相對性可以解釋為一個用戶認為某個軟件產品質量完全過關,而另一個用戶則可能認為質量并不完全過關。有關質量的定義會帶有人的情感的因素,因為它是通過一系列人的決策,才能確定到底需要聽取哪些人的意見以及這些意見中哪些是相對重要的。然而大多數(shù)人卻并沒有察覺到質量中的非理性因素,同時軟件開發(fā)者也希望對于質量管理是可以絕對理性的,這也是質量管理往往流于形式而無實際效果的原因。在質量管理中運用理性進行判斷與決策正是本文所要討論的目的。
在質量概念中還有一個要素是值得注意的,那就是質量的經(jīng)濟性。根據(jù)Crosby的質量定義,“符合需求”的代價是指第一次把事情做對所花費的成本,總是最經(jīng)濟的。而“不符合要求”的代價是必須進行補救使企業(yè)產生額外的支出,包括時間、金錢和精力,由此產生了質量損失,成本相應增加。因此,質量經(jīng)濟學被軟件開發(fā)管理者提了出來。
于是時間、成本與質量在項目管理中常常相提并論。那么如何在時間、成本、質量這三個方面找到均可以滿意的模式,并恪守這種模式,持續(xù)地進行管理工作呢?這也就是質量管理的最終目標。
二、軟件質量管理和軟件過程能力成熟度模型
軟件質量管理是管理者在對軟件質量進行一系列度量之后做出的各種決策,促使軟件產品在時間、成本內符合標準。軟件質量度量是軟件度量的一個子集合,其在于產品、過程和項目的質量。
Crosby根據(jù)產品的質量,對大多數(shù)組織生產過程進行研究,第一次提出了成熟度進程階段的思想。Radice等人將Crosby關于質量規(guī)劃的層次階段劃分方法進行了推廣,運用到軟件項目開發(fā)中,針對軟件組織的開發(fā)過程,建立了一個成熟度模型,包括過程成熟度(CMM)的五個層次。雖然此模型是針對軟件過程的,但實際上卻應用于軟件產業(yè)的質量過程和質量管理標準。
(1)初始層次。該層次特征:無序的;成本費用、進度及質量均不可度量、無質量管理。
(2)可重復驗證的層次。該層次特征:機械性有序的;對成本費用、進度及質量開始進行控制、非正式的質量管理。
(3)經(jīng)過定義的層次。該層次特征:可定性的;對成本費用、進度及質量進行有意識的控制、非正式的質量管理朝正式的質量管理進化。
(4)得到管理的層次。該層次特征:可定量的;對成本費喟、進度、質量有了合理的統(tǒng)計控制;正式而有效的質量管理。
(5)經(jīng)過優(yōu)化的層次。該層次特征:可穩(wěn)定、持續(xù)發(fā)展的;對于軟件生產自動化和持續(xù)改進奠定了良好的基礎;成熟的質量管理。 每一個成熟度等級都為過程繼續(xù)改進提供了一個基石。每一個等級包含一組過程目標,當目標得到滿足時,能使軟件過程的一些重要組成部分相對穩(wěn)定下來。每達到成熟度框架的一個等級,就建立起了軟件過程的一個不同的組成部分,以保證軟件組織的過程能力的持續(xù)增長。雖然這五個層次是由前向后依次進化的,但也不等于說處于第一層次的軟件組織一無是處,而達到最高層次的則可以高枕無憂。真正的意義在于我們如何在實際的軟件項目管理中認識自己所處的形式,通過建立質量管理模型,向上一個層次的模式進行轉化,而即使是已達到第四或第五層次的組織,也應不時地建立管理模型以預測之后可能會遇到的問題。因為CMM五層階梯進化并非只是單向的,逆向也是經(jīng)常發(fā)生的,所以建立與控制當前形式下的模型是各個軟件組織向高一層次進化或是保持優(yōu)勢的方法之一。