論軟件項(xiàng)目管理中質(zhì)量控制模型的應(yīng)用研究
發(fā)布時間:2019/1/29 16:52:00
摘要: 從“質(zhì)量”概念中所涵蓋的兩大要素(質(zhì)量的相對性、質(zhì)量的經(jīng)濟(jì)性)出發(fā),系統(tǒng)論述了軟件質(zhì)量管理的重要性。結(jié)合軟件組織能力進(jìn)程的成熟度模型(CMM)列舉出兩種質(zhì)量管理控制模型:一種是匯聚控制模型;另一種是反饋式控制模型。通過建立控制模型使管理者在質(zhì)量管理中運(yùn)用科學(xué)的方法令其各項(xiàng)決策行之有效,盡量避免管理中的非理性因素。同時,分析了在匯聚式模型中,根據(jù)CMM成熟度劃分的不同企業(yè)應(yīng)用中的不同表現(xiàn)。并且具體就如何建立反饋式控制模型,引入展開了頭腦風(fēng)暴法。通過合理的應(yīng)用質(zhì)量管理模型,我們將使軟件項(xiàng)目管理變得有效而實(shí)際。
關(guān)鍵詞: 質(zhì)量相對性;質(zhì)量管理;成熟度模型;匯聚控制模型;反饋式控制模型;頭腦風(fēng)暴法
近年來中國的軟件業(yè)蓬勃發(fā)展,頗有星星之火可以燎原之勢。然而在眾多企業(yè)不斷引進(jìn)新技術(shù)的同時,軟件業(yè)的管理理念卻相對滯后,類似手工作坊模式的生產(chǎn)模式依舊,“軟件工廠”成了可望而不可及的目標(biāo)。針對于此,企業(yè)對高級軟件項(xiàng)目經(jīng)理人求賢若渴,試圖改進(jìn)其內(nèi)部落后的管理模式。在一些成功的軟件項(xiàng)目調(diào)查中顯示,有效的軟件質(zhì)量管理在項(xiàng)目中起了至關(guān)重要的作用,甚至對企業(yè)管理、企業(yè)文化也產(chǎn)生了深遠(yuǎn)的影響。
一、質(zhì)量概念中的兩大要素
著名美國質(zhì)量管理專家Philip B.Crosby于1961年提出了“零缺陷”的概念,并被稱之“質(zhì)量革命”。1979年他出版了《Quality is e》一書,闡述了他的新的質(zhì)量管理思想,并認(rèn)為“質(zhì)量就是符合需求”。經(jīng)過近幾十年軟件開發(fā)思想的積累,關(guān)于質(zhì)量的概念不斷深入,Crosby的質(zhì)量定義用更為精確與更具實(shí)際操作性的方式表示就是:質(zhì)量是相對于某個(某些)人而言的價值。此定義明確提出了質(zhì)量的相對性,也明確了質(zhì)量不能脫離人而抽象存在的性質(zhì)。這些進(jìn)步對于我們正視軟件開發(fā)中實(shí)際發(fā)生的質(zhì)量問題是非常重要的。
質(zhì)量的相對性可以解釋為一個用戶認(rèn)為某個軟件產(chǎn)品質(zhì)量完全過關(guān),而另一個用戶則可能認(rèn)為質(zhì)量并不完全過關(guān)。有關(guān)質(zhì)量的定義會帶有人的情感的因素,因?yàn)樗峭ㄟ^一系列人的決策,才能確定到底需要聽取哪些人的意見以及這些意見中哪些是相對重要的。然而大多數(shù)人卻并沒有察覺到質(zhì)量中的非理性因素,同時軟件開發(fā)者也希望對于質(zhì)量管理是可以絕對理性的,這也是質(zhì)量管理往往流于形式而無實(shí)際效果的原因。在質(zhì)量管理中運(yùn)用理性進(jìn)行判斷與決策正是本文所要討論的目的。
在質(zhì)量概念中還有一個要素是值得注意的,那就是質(zhì)量的經(jīng)濟(jì)性。根據(jù)Crosby的質(zhì)量定義,“符合需求”的代價是指第一次把事情做對所花費(fèi)的成本,總是最經(jīng)濟(jì)的。而“不符合要求”的代價是必須進(jìn)行補(bǔ)救使企業(yè)產(chǎn)生額外的支出,包括時間、金錢和精力,由此產(chǎn)生了質(zhì)量損失,成本相應(yīng)增加。因此,質(zhì)量經(jīng)濟(jì)學(xué)被軟件開發(fā)管理者提了出來。于是時間、成本與質(zhì)量在項(xiàng)目管理中常常相提并論。那么如何在時間、成本、質(zhì)量這三個方面找到均可以滿意的模式,并恪守這種模式,持續(xù)地進(jìn)行管理工作呢?這也就是質(zhì)量管理的最終目標(biāo)。
二、軟件質(zhì)量管理和軟件過程能力成熟度模型
軟件質(zhì)量管理是管理者在對軟件質(zhì)量進(jìn)行一系列度量之后做出的各種決策,促使軟件產(chǎn)品在時間、成本內(nèi)符合標(biāo)準(zhǔn)。軟件質(zhì)量度量是軟件度量的一個子集合,其在于產(chǎn)品、過程和項(xiàng)目的質(zhì)量。Crosby根據(jù)產(chǎn)品的質(zhì)量,對大多數(shù)組織生產(chǎn)過程進(jìn)行研究,第一次提出了成熟度進(jìn)程階段的思想。Radice等人將Crosby關(guān)于質(zhì)量規(guī)劃的層次階段劃分方法進(jìn)行了推廣,運(yùn)用到軟件項(xiàng)目開發(fā)中,針對軟件組織的開發(fā)過程,建立了一個成熟度模型,包括過程成熟度(CMM)的五個層次。雖然此模型是針對軟件過程的,但實(shí)際上卻應(yīng)用于軟件產(chǎn)業(yè)的質(zhì)量過程和質(zhì)量管理標(biāo)準(zhǔn)。
(1)初始層次。該層次特征:無序的;成本費(fèi)用、進(jìn)度及質(zhì)量均不可度量、無質(zhì)量管理。
(2)可重復(fù)驗(yàn)證的層次。該層次特征:機(jī)械性有序的;對成本費(fèi)用、進(jìn)度及質(zhì)量開始進(jìn)行控制、非正式的質(zhì)量管理。
(3)經(jīng)過定義的層次。該層次特征:可定性的;對成本費(fèi)用、進(jìn)度及質(zhì)量進(jìn)行有意識的控制、非正式的質(zhì)量管理朝正式的質(zhì)量管理進(jìn)化。
(4)得到管理的層次。該層次特征:可定量的;對成本費(fèi)喟、進(jìn)度、質(zhì)量有了合理的統(tǒng)計控制;正式而有效的質(zhì)量管理。
(5)經(jīng)過優(yōu)化的層次。該層次特征:可穩(wěn)定、持續(xù)發(fā)展的;對于軟件生產(chǎn)自動化和持續(xù)改進(jìn)奠定了良好的基礎(chǔ);成熟的質(zhì)量管理。
每一個成熟度等級都為過程繼續(xù)改進(jìn)提供了一個基石。每一個等級包含一組過程目標(biāo),當(dāng)目標(biāo)得到滿足時,能使軟件過程的一些重要組成部分相對穩(wěn)定下來。每達(dá)到成熟度框架的一個等級,就建立起了軟件過程的一個不同的組成部分,以保證軟件組織的過程能力的持續(xù)增長。雖然這五個層次是由前向后依次進(jìn)化的,但也不等于說處于第一層次的軟件組織一無是處,而達(dá)到最高層次的則可以高枕無憂。真正的意義在于我們?nèi)绾卧趯?shí)際的軟件項(xiàng)目管理中認(rèn)識自己所處的形式,通過建立質(zhì)量管理模型,向上一個層次的模式進(jìn)行轉(zhuǎn)化,而即使是已達(dá)到第四或第五層次的組織,也應(yīng)不時地建立管理模型以預(yù)測之后可能會遇到的問題。因?yàn)镃MM五層階梯進(jìn)化并非只是單向的,逆向也是經(jīng)常發(fā)生的,所以建立與控制當(dāng)前形式下的模型是各個軟件組織向高一層次進(jìn)化或是保持優(yōu)勢的方法之一。
三、質(zhì)量管理中的兩種控制模式
1.匯聚控制模型
在軟件項(xiàng)目管理中,用戶的需求與軟件開發(fā)的方式的變化始終都是持續(xù)不斷發(fā)生的,由此,軟件質(zhì)量更像是在運(yùn)動中的目標(biāo)。質(zhì)量管理就如同向一個運(yùn)動中的目標(biāo)射擊,那么通常會采用的方法是匯聚。匯聚控制模型就是無論目標(biāo)是不是在運(yùn)動,采用方式越多,達(dá)到目標(biāo)的可能性也就會越大。
在初始層次上的軟件組織應(yīng)用更像一種自然選擇。在這個層次上,找不到任何有效的采用集中式工具開發(fā)群體,也找不到任何對工具進(jìn)行評估或發(fā)布的集成式方法。各種工具只是簡單地從這個程序員(或開發(fā)團(tuán)隊)散播到另一個程序員(或開發(fā)團(tuán)隊)那里,而這種散播過程的進(jìn)行完全是由個人之間的隨機(jī)交流決定的。隨著環(huán)境的不斷變化,各種方法都要接受考驗(yàn)。雖然通過自然選擇式的匯聚控制策略可以保證對不同環(huán)境的適應(yīng)性,但是這樣的過程不僅代價昂貴也需要相當(dāng)長的時間。不像在初始層次上的軟件組織那樣類似自然選擇,這一層次上的組織領(lǐng)導(dǎo)者會積極地進(jìn)行干預(yù),主動地采用匯聚控制模型。但是在可重復(fù)驗(yàn)證層次上的組織領(lǐng)導(dǎo)者盡管意識到了質(zhì)量管理是有用的,卻不肯投入時間與成本去實(shí)現(xiàn)質(zhì)量管理。即使愿意花時間與成本進(jìn)行管理,也并不理解其管理背后真正的目標(biāo)和價值。更多的是一種積極狀態(tài)下的例行公事。在這一層次上,可以說匯聚策略中的類似自然選擇的成分已經(jīng)消失,人為地匯聚控制雖然有時候并不是那么明確其目的,但仍然會在一定的時間與成本之內(nèi)得到不錯的效益。
經(jīng)過優(yōu)化的層次上的軟件組織會有意識地應(yīng)用匯聚控制模型,并且會明確運(yùn)用匯聚控制模型來提高質(zhì)量管理的效率。例如某家軟件企業(yè)向政府交通部門提供了好幾種相應(yīng)的軟件,并且組建一個小組對這些軟件進(jìn)行評估。這個小組將軟件應(yīng)用到所有的實(shí)際場合進(jìn)行試驗(yàn),然后從中挑選出一兩個最出色的向交通部門推薦。用這種方法不斷進(jìn)行篩選,直到某一個能夠最合適,這是匯聚式控制模型的最基本方法。匯聚式控制模型無論在哪一個層次上都有應(yīng)用,只是應(yīng)用的方式各有不同。無論是否有意識地應(yīng)用匯聚式控制模型進(jìn)行質(zhì)量管理,都表明:只要愿意為不斷的嘗試付出代價,最終總是能夠獲得所希望得到的軟件系統(tǒng)。這是一種最實(shí)際的方法,有時甚至是能夠想到的惟一方法。
2.反饋式控制模型
如上所述,軟件質(zhì)量像是在運(yùn)動中的目標(biāo),反饋式控制方法就是由研究如何提高擊中運(yùn)動中的目標(biāo)的命中率而產(chǎn)生的,并且作為一種實(shí)用工程模型已存在了相當(dāng)長的時間。
在這種模型中,控制者可以對性能(亦即從系統(tǒng)輸出到控制者的那個箭頭)進(jìn)行衡量,進(jìn)而根據(jù)其衡量的結(jié)果來決定下一步如何進(jìn)行控制。因此,從一定意義上說,管理的實(shí)質(zhì)就是控制者的行為。為了能夠通過反饋式控制方法對一個工程項(xiàng)目進(jìn)行質(zhì)量管理,管理的任務(wù)就是對生產(chǎn)所需產(chǎn)品的過程進(jìn)行控制。管理者首先對產(chǎn)出做出計劃,然后對實(shí)際進(jìn)度情況進(jìn)行監(jiān)測。管理者將根據(jù)實(shí)際情況與原定計劃的偏差,決定具體采取何種措施,作為反饋回到控制的過程之中。但在實(shí)際的控制行為中,仍然會犯一些錯誤,如對最終的結(jié)果缺乏事先的計劃、對工程的實(shí)際進(jìn)行情況熟視無睹、沒有將觀測結(jié)果與目標(biāo)做出較、沒有采取相應(yīng)的措施以使實(shí)際進(jìn)程回到預(yù)定軌道等。為了避免這些錯誤,項(xiàng)目管理者在工作中還需加入其他要素。為了進(jìn)行規(guī)劃,管理者必須了解自己需要的是什么。如何才能獲得它們;為了能夠很好地觀察,產(chǎn)品需要是可見與穩(wěn)定的。
在建立反饋式質(zhì)量控制模型時,需要應(yīng)用統(tǒng)計控制與度量分析等數(shù)學(xué)方法。Deming是一位將統(tǒng)計方法應(yīng)用于質(zhì)量控制的咨詢專家。他說:“統(tǒng)計質(zhì)量控制是統(tǒng)計原理和技術(shù)的一次實(shí)踐,這種方法可以用于生產(chǎn)的所有階段以及維護(hù)和服務(wù),其目的是滿足經(jīng)濟(jì)的需求!敝T如SPC(統(tǒng)計過程控制)、頭腦風(fēng)暴法、魚刺圖、PARETO原理、層次圖等方法都是統(tǒng)計控制理論和度量理論的一些基本方法。常用的頭腦風(fēng)暴法(Brainstorming),其一般步驟可以概括為:確定質(zhì)量問題;盡可能找出影響質(zhì)量問題的因素;找出各原因之間的關(guān)系,在因果圖上以因果關(guān)系用箭頭聯(lián)接起來;根據(jù)對結(jié)果影響的程度,將認(rèn)為有顯著影響的因素標(biāo)出來;在因果圖上標(biāo)上必要的信息。此方法包含兩項(xiàng)活動:一是用頭腦風(fēng)暴法找原因;二是對原因進(jìn)行系統(tǒng)整理、歸類,再根據(jù)概念間的層次關(guān)系整理成用來表示質(zhì)量波動特性與其潛在原因的關(guān)系的一種圖表。
根據(jù)此作用圖同時可以轉(zhuǎn)換成一整套方程組,可以建立一個相應(yīng)的數(shù)學(xué)模型。方法如下:先將每個箭頭替換成一個等號,如果某個節(jié)點(diǎn)至少被一個箭頭所指向,就可以建立一個方程,而對應(yīng)于該節(jié)點(diǎn)的測量數(shù)量將被放在方程的左側(cè)。
例如:相對進(jìn)展=F()其含義便是,相對進(jìn)展取決于某些其他的測量數(shù)值,其中每一個數(shù)值對應(yīng)于某個指向該節(jié)點(diǎn)箭頭的起始節(jié)點(diǎn)。由圖可以得出:相對進(jìn)展=F(已完成的生產(chǎn)性工作量,待完成的工作量)。
在作用圖中,帶黑色圓點(diǎn)的箭頭表示這些作用是逆向變化的,用數(shù)學(xué)運(yùn)算表示,如減法和除法。如圖可以得出:函數(shù)F是一個減法運(yùn)算:相對進(jìn)展=已完成的生產(chǎn)性工作量一待完成的工作量。
另外,為了確定方程的具體形式,還須進(jìn)行一些實(shí)際測量,并進(jìn)行相應(yīng)的估算。當(dāng)將所有關(guān)系的符號進(jìn)行了如上轉(zhuǎn)換之后,就可以得到一組方程組,而這些方程組也就相應(yīng)描述了作用圖所代表的系統(tǒng)狀況。值得注意的是,這些方程組有時是線性的,而有時是非線性的,而非線性就是導(dǎo)致質(zhì)量管理發(fā)生偏差的罪魁禍?zhǔn)。然而有很多軟件?xiàng)目管理者會常常忽視反饋式控制模型中的非線性因素。在現(xiàn)實(shí)中還有許多外界的因素干擾,以至于模型中線性的成分在大多數(shù)情況下只是一個理想狀態(tài)。再以上圖為例,“相對進(jìn)展”由“完成的富有成果性工作”和“待完成的工作量”兩個因素所決定。然而到達(dá)某一個時間點(diǎn)(臨界點(diǎn)),“待完成的工作量”越多就越會影響到“完成富有成果性的工作”,從而再間接影響到“相對進(jìn)展”。(資料來源:項(xiàng)目管理者聯(lián)盟)