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