http://tech.itdb.cn/n/200503/01/n20050301_31878.shtml
一、 前言
本文作者在企業(yè)從事SQA工作,同時兼任SEPG的工作進(jìn)行基于CMM3的過程改進(jìn),在實(shí)踐過程中,對SQA的工作有了較多的想法和認(rèn)識。本文是個人看法,請大家指教,如果要和本人聯(lián)系,請發(fā)Email到:heqingemail@163.net。
二、SQA的理論探索
2.1、過程的;認(rèn)識
我們都知道一個項(xiàng)目的主要內(nèi)容是:成本、進(jìn)度、質(zhì)量;良好的項(xiàng)目管理就是綜合三方面的因素,平衡三方面的目標(biāo),最終依照目標(biāo)完成任務(wù)。項(xiàng)目的這三個方面是相互制約和影響的,有時對這三方面的平衡策略甚至成為一個企業(yè)級的要求,決定了企業(yè)的行為,我們知道IBM的軟件是以質(zhì)量為最重要目標(biāo)的,而微軟的“足夠好的軟件”策略更是耳熟能詳,這些質(zhì)量目標(biāo)其實(shí)立足于企業(yè)的戰(zhàn)略目標(biāo)。所以用于進(jìn)行質(zhì)量保證的SQA工作也應(yīng)當(dāng)立足于企業(yè)的戰(zhàn)略目標(biāo),從這個角度思考SQA,形成對SQA的理論認(rèn)識。
軟件界已經(jīng)達(dá)成共識的:影響軟件項(xiàng)目進(jìn)度、成本、質(zhì)量的因素主要是“人、過程、技術(shù)”。
首先要明確的是這三個因素中,人是第一位的。
現(xiàn)在許多實(shí)施CMM的人員沉溺于CMM的理論過于強(qiáng)調(diào)“過程”,這是很危險的傾向。這個思想傾向在國外受到了猛烈抨擊,從某種意義上各種敏捷過程方法的提出就是對強(qiáng)調(diào)過程的一種反思。
“XP”中的一個思想“人比過程更重要” 是值得我們思考的。我個人的意見在進(jìn)行過程改進(jìn)中堅(jiān)持“以人為本”,強(qiáng)調(diào)過程和人的和諧。
根據(jù)現(xiàn)代軟件工程對眾多失敗項(xiàng)目的調(diào)查,發(fā)現(xiàn)管理是項(xiàng)目失敗的主要原因。這個事實(shí)的重要性在于說明了“要保證項(xiàng)目不失敗,我們應(yīng)當(dāng)更加關(guān)注管理”,注意這個事實(shí)沒有說明另外一個問題“良好的管理可以保證項(xiàng)目的成功”。現(xiàn)在很多人基于一種粗糙的邏輯,從一個事實(shí)反推到的這個結(jié)論,在邏輯上是錯誤的,這種錯誤形成了更加錯誤的做法,這點(diǎn)在SQA的理解上是體現(xiàn)較深。
如果我們考證一下歷史的沿革,應(yīng)當(dāng)更加容易理解CMM的本質(zhì)。CMM首先是作為一個“評估標(biāo)準(zhǔn)”出現(xiàn)的,主要評估的是美國國防部供應(yīng)商保證質(zhì)量的能力。CMM關(guān)注的軟件生產(chǎn)有如下特點(diǎn):
質(zhì)量重要
規(guī)模較大
這是CMM產(chǎn)生的原因。它引入了“全面質(zhì)量管理”的思想,尤其側(cè)重了“全面質(zhì)量管理”中的“過程方法”,并且引入了“統(tǒng)計(jì)過程控制”的方法。可以說這兩個思想是CMM背后的基礎(chǔ)。
上面這些內(nèi)容形成了我對軟件過程地位、價值的基本理解;在這個基礎(chǔ)上我們可以引申討論SQA。
2.2、生產(chǎn)線的隱喻
如果將一個軟件生產(chǎn)類比于一個工廠的生產(chǎn)。那么生產(chǎn)線就是過程,產(chǎn)品按照生產(chǎn)線的規(guī)定過程進(jìn)行生產(chǎn)。SQA的職責(zé)就是保證過程的執(zhí)行,也就是保證生產(chǎn)線的正常執(zhí)行。
抽象出管理體系模型的如下,這個模型說明了一個過程體系至少應(yīng)當(dāng)包含“決策、執(zhí)行、反饋”三個重要方面。QA的職責(zé)就是確保過程的有效執(zhí)行,監(jiān)督項(xiàng)目按照過程進(jìn)行項(xiàng)目活動;它不負(fù)責(zé)監(jiān)管產(chǎn)品的質(zhì)量,不負(fù)責(zé)向管理層提供項(xiàng)目的情況,不負(fù)責(zé)代表管理層進(jìn)行管理,只是代表管理層來保證過程的執(zhí)行。

2.3、SQA和其他工作的組合
在很多企業(yè)中,將SQA的工作和QC、SEPG、組織級的項(xiàng)目管理者的工作混合在一起了,有時甚至更加注重其他方面的工作而沒有做好SQA的本職工作。
根據(jù)hjhza 的意見“中國現(xiàn)在基本有三種QA(按照工作重點(diǎn)不同來分):一是過程改進(jìn)型,一是配置管理型,一是測試型”。我個人認(rèn)為是因?yàn)镾QA工作和其他不同工作組合在一起形成的。
下面根據(jù)本人經(jīng)驗(yàn)對它們之間的關(guān)系進(jìn)行一個說明。
2.4、QA和QC
兩者基本職責(zé)
QC:檢驗(yàn)產(chǎn)品的質(zhì)量,保證產(chǎn)品符合客戶的需求;是產(chǎn)品質(zhì)量檢查者;
QA:審計(jì)過程的質(zhì)量,保證過程被正確執(zhí)行;是過程質(zhì)量審計(jì)者;
注意區(qū)別檢查和審計(jì)的不同
檢查:就是我們常說的找茬,是挑毛病的;
審計(jì):來確認(rèn)項(xiàng)目按照要求進(jìn)行的證據(jù);仔細(xì)看看CMM中各個KPA中SQA的檢查采用的術(shù)語大量用到了“證實(shí)”,審計(jì)的內(nèi)容主要是過程的;對照CMM看一下項(xiàng)目經(jīng)理和高級管理者的審查內(nèi)容,他們更加關(guān)注具體內(nèi)容。
對照上面的管理體系模型,QC進(jìn)行質(zhì)量控制,向管理層反饋質(zhì)量信息;QA則確保QC按照過程進(jìn)行質(zhì)量控制活動,按照過程將檢查結(jié)果向管理層匯報。這就是QA和QC工作的關(guān)系。在這樣的分工原則下,QA只要檢查項(xiàng)目按照過程進(jìn)行了某項(xiàng)活動沒有,產(chǎn)出了某個產(chǎn)品沒有;而QC來檢查產(chǎn)品是否符合質(zhì)量要求。如果企業(yè)原來具有QC人員并且QA人員配備不足,可以先確定由QC兼任QA工作。但是只能是暫時的,獨(dú)立的QA人員應(yīng)當(dāng)具備,因?yàn)镼C工作也是要遵循過程要求的,也是要被審計(jì)過程的,這種混合情況,難以保證QC工作的過程質(zhì)量。
2.5、QA和SEPG
兩者基本職責(zé)
SEPG:制定過程,實(shí)施過程改進(jìn);
QA: 確保過程被正確執(zhí)行
SEPG應(yīng)當(dāng)提供過程上的指導(dǎo),幫助項(xiàng)目組制定項(xiàng)目過程,幫助項(xiàng)目組進(jìn)行策劃;從而幫助項(xiàng)目組有效的工作,有效的執(zhí)行過程。如果項(xiàng)目和QA對過程的理解發(fā)生爭持,SEPG作為最終仲裁者。為了進(jìn)行有效過程改進(jìn),SEPG必須分析項(xiàng)目的數(shù)據(jù)。
QA本也要進(jìn)行過程規(guī)范,那么所有QA中最有經(jīng)驗(yàn)、最有能力的QA可以參加SEPG,但是要注意這兩者的區(qū)別。
如果企業(yè)的SEPG人員具有較為深厚的開發(fā)背景,可以兼任SQA工作,這樣利于過程的不斷改進(jìn);但是由于立法、執(zhí)法集于一身也容易造成SQA過于強(qiáng)勢,影響項(xiàng)目的獨(dú)立性。管理過程比較成熟的企業(yè),因?yàn)槠髽I(yè)的文化和管理機(jī)制已經(jīng)健全,SQA職責(zé)范圍的工作較少,往往只是針對具體項(xiàng)目制定明確重點(diǎn)的SQA計(jì)劃,這樣SQA的審計(jì)工作會大大減少,從而可以同時審計(jì)較多項(xiàng)目。
另一方面,由于分工的細(xì)致化,管理體系的復(fù)雜化,往往需要專職的SEPG人員,這些人員要求了解企業(yè)的所有管理過程和運(yùn)作情況,在這個基礎(chǔ)上才能統(tǒng)籌全局的進(jìn)行過程改進(jìn),這時了解全局的SQA人員就是專職SEPG的主要人選;這些SQA人員將逐漸的轉(zhuǎn)化為SEPG人員,并且更加了解管理知識,而SQA工作漸漸成為他們的兼職工作。
這種情況在許多CMM5企業(yè)比較多見,往往有時看不見SQA人員在項(xiàng)目組出現(xiàn)或者很少出現(xiàn),這種SEPG和SQA的融合特別有利于組織的過程改進(jìn)工作。SEPG確定過程改進(jìn)內(nèi)容,SQA計(jì)劃重點(diǎn)反映這些改進(jìn)內(nèi)容,從保證有效的改進(jìn),特別有利于達(dá)到CMM5的要求。從這個角度,國外的SQA人員為什么高薪就不難理解了,也決定了當(dāng)前中國SQA人員比較被輕視的原因;因?yàn)楣芾磉^程還不完善,我們的SQA人員還沒有產(chǎn)生這么大的價值嘛!
2.6、QA和組織級的監(jiān)督管理
有的企業(yè)為了更好的監(jiān)督管理項(xiàng)目,建立了一個角色,我取名為“組織級的監(jiān)督管理者”,他們的職責(zé)是對所有項(xiàng)目進(jìn)行統(tǒng)一的跟蹤、監(jiān)督、適當(dāng)?shù)墓芾恚瑏肀WC管理層對所有項(xiàng)目的可視性、可管理性。
為了有效管理項(xiàng)目,“組織級的監(jiān)督管理者”必須分析項(xiàng)目的數(shù)據(jù)。
他們的職責(zé)對照上圖的模型,就是執(zhí)行“反饋”職能。
QA本身不進(jìn)行反饋工作,最多對過程執(zhí)行情況的信息進(jìn)行反饋。
SQA職責(zé)最好不要和“組織級的項(xiàng)目管理者”的職責(zé)混合在一起,否則容易出現(xiàn)SAQ困境:一方面SQA不能準(zhǔn)確定位自己的工作,另一方面過程執(zhí)行者對SQA人員抱有較大戒心。
如果建立了較好的管理過程,那么就會增強(qiáng)項(xiàng)目的可視性,從而保證企業(yè)對所有項(xiàng)目的較好管理;而QA來確保這個管理過程的運(yùn)行。
三、SQA的工作內(nèi)容和工作方法
3.1、 計(jì)劃
針對具體項(xiàng)目制定SQA計(jì)劃,確保項(xiàng)目組正確執(zhí)行過程。制定SQA計(jì)劃應(yīng)當(dāng)注意如下幾點(diǎn):
有重點(diǎn):依據(jù)企業(yè)目標(biāo)以及項(xiàng)目情況確定審計(jì)的重點(diǎn)
明確審計(jì)內(nèi)容:明確審計(jì)哪些活動,那些產(chǎn)品
明確審計(jì)方式:確定怎樣進(jìn)行審計(jì)
明確審計(jì)結(jié)果報告的規(guī)則:審計(jì)的結(jié)果報告給誰
3.2、審計(jì)/證實(shí)
依據(jù)SQA計(jì)劃進(jìn)行SQA審計(jì)工作,按照規(guī)則發(fā)布審計(jì)結(jié)果報告。
注意審計(jì)一定要有項(xiàng)目組人員陪同,不能搞突然襲擊。雙方要開誠布公,坦誠相對。
審計(jì)的內(nèi)容:是否按照過程要求執(zhí)行了相應(yīng)活動,是否按照過程要求產(chǎn)生了相應(yīng)產(chǎn)品。
3.3、問題跟蹤
對審計(jì)中發(fā)現(xiàn)的問題,要求項(xiàng)目組改進(jìn),并跟進(jìn)直到解決。
四、SQA的素質(zhì)
過程為中心:應(yīng)當(dāng)站在過程的角度來考慮問題,只要保證了過程,QA就盡到了責(zé)任。
服務(wù)精神:為項(xiàng)目組服務(wù),幫助項(xiàng)目組確保正確執(zhí)行過程
了解過程:深刻了解企業(yè)的工程,并具有一定的過程管理理論知識
了解開發(fā):對開發(fā)工作的基本情況了解,能夠理解項(xiàng)目的活動
溝通技巧:善于溝通,能夠營造良好的氣氛,避免審計(jì)活動成為一種找茬活動。