SQA到底是什麼?

SQA到底是什麼?
2007-03-15 17:12

作者:河清(來源:希賽網)  http://www.csai.cn  20030310

一、 前言

本人在企業從事SQA工作,同時兼任SEPG的工作進行基於CMM3的過程改進,在實踐過程中,對SQA的工作有了較多的想法和認識。本文是個人看法,請大家指教,如果要和本人聯繫,請發Email到:[email protected]

二、SQA的理論探索

2.1、過程的 認識

我們都知道一個項目的主要內容是:成本、進度、質量;良好的項目管理就是綜合三方面的因素,平衡三方面的目標,最終依照目標完成任務。項目的這三個方面是相互制約和影響的,有時對這三方面的平衡策略甚至成爲一個企業級的要求,決定了企業的行爲,我們知道IBM的軟件是以質量爲最重要目標的,而微軟的“足夠好的軟件”策略更是耳熟能詳,這些質量目標其實立足於企業的戰略目標。所以用於進行質量保證的SQA工作也應當立足於企業的戰略目標,從這個角度思考SQA,形成對SQA的理論認識。

軟件界已經達成共識的:影響軟件項目進度、成本、質量的因素主要是“人、過程、技術”。

首先要明確的是這三個因素中,人是第一位的。

現在許多實施CMM的人員沉溺於CMM的理論過於強調“過程”,這是很危險的傾向。這個思想傾向在國外受到了猛烈抨擊,從某種意義上各種敏捷過程方法的提出就是對強調過程的一種反思。

XP”中的一個思想“人比過程更重要” 是值得我們思考的。我個人的意見在進行過程改進中堅持“以人爲本”,強調過程和人的和諧。

根據現代軟件工程對衆多失敗項目的調查,發現管理是項目失敗的主要原因。這個事實的重要性在於說明了“要保證項目不失敗,我們應當更加關注管理”,注意這個事實沒有說明另外一個問題“良好的管理可以保證項目的成功”。現在很多人基於一種粗糙的邏輯,從一個事實反推到的這個結論,在邏輯上是錯誤的,這種錯誤形成了更加錯誤的做法,這點在SQA的理解上是體現較深。

如果我們考證一下歷史的沿革,應當更加容易理解CMM的本質。CMM首先是作爲一個“評估標準”出現的,主要評估的是美國國防部供應商保證質量的能力。CMM關注的軟件生產有如下特點:

質量重要

規模較大

這是CMM產生的原因。它引入了“全面質量管理”的思想,尤其側重了“全面質量管理”中的“過程方法”,並且引入了“統計過程控制”的方法。可以說這兩個思想是CMM背後的基礎。

上面這些內容形成了我對軟件過程地位、價值的基本理解;在這個基礎上我們可以引申討論SQA

2.2、生產線的隱喻

如果將一個軟件生產類比於一個工廠的生產。那麼生產線就是過程,產品按照生產線的規定過程進行生產。SQA的職責就是保證過程的執行,也就是保證生產線的正常執行。

抽象出管理體系模型的如下,這個模型說明了一個過程體系至少應當包含“決策、執行、反饋”三個重要方面。

QA的職責就是確保過程的有效執行,監督項目按照過程進行項目活動;它不負責監管產品的質量,不負責向管理層提供項目的情況,不負責代表管理層進行管理,只是代表管理層來保證過程的執行。

 

2.3SQA和其他工作的組合

在很多企業中,將SQA的工作和QCSEPG、組織級的項目管理者的工作混合在一起了,有時甚至更加註重其他方面的工作而沒有做好SQA的本職工作。

根據hjhza 的意見“中國現在基本有三種QA(按照工作重點不同來分):一是過程改進型,一是配置管理型,一是測試型”。我個人認爲是因爲SQA工作和其他不同工作組合在一起形成的。

下面根據本人經驗對它們之間的關係進行一個說明。

2.4QAQC

兩者基本職責

QC:檢驗產品的質量,保證產品符合客戶的需求;是產品質量檢查者;

QA:審計過程的質量,保證過程被正確執行;是過程質量審計者;

注意區別檢查和審計的不同

檢查:就是我們常說的找茬,是挑毛病的;

審計:來確認項目按照要求進行的證據;仔細看看CMM中各個KPASQA的檢查採用的術語大量用到了“證實”,審計的內容主要是過程的;對照CMM看一下項目經理和高級管理者的審查內容,他們更加關注具體內容。

對照上面的管理體系模型,QC進行質量控制,向管理層反饋質量信息;QA則確保QC按照過程進行質量控制活動,按照過程將檢查結果向管理層彙報。這就是QAQC工作的關係。

在這樣的分工原則下,QA只要檢查項目按照過程進行了某項活動沒有,產出了某個產品沒有;而QC來檢查產品是否符合質量要求。

如果企業原來具有QC人員並且QA人員配備不足,可以先確定由QC兼任QA工作。但是隻能是暫時的,獨立的QA人員應當具備,因爲QC工作也是要遵循過程要求的,也是要被審計過程的,這種混合情況,難以保證QC工作的過程質量。

2.5QASEPG

兩者基本職責

SEPG:制定過程,實施過程改進;

QA 確保過程被正確執行

SEPG應當提供過程上的指導,幫助項目組制定項目過程,幫助項目組進行策劃;從而幫助項目組有效的工作,有效的執行過程。如果項目和QA對過程的理解發生爭持,SEPG作爲最終仲裁者。爲了進行有效過程改進,SEPG必須分析項目的數據。

QA本也要進行過程規範,那麼所有QA中最有經驗、最有能力的QA可以參加SEPG,但是要注意這兩者的區別。

如果企業的SEPG人員具有較爲深厚的開發背景,可以兼任SQA工作,這樣利於過程的不斷改進;但是由於立法、執法集於一身也容易造成SQA過於強勢,影響項目的獨立性。

管理過程比較成熟的企業,因爲企業的文化和管理機制已經健全,SQA職責範圍的工作較少,往往只是針對具體項目制定明確重點的SQA計劃,這樣SQA的審計工作會大大減少,從而可以同時審計較多項目。

另一方面,由於分工的細緻化,管理體系的複雜化,往往需要專職的SEPG人員,這些人員要求瞭解企業的所有管理過程和運作情況,在這個基礎上才能統籌全局的進行過程改進,這時瞭解全局的SQA人員就是專職SEPG的主要人選;這些SQA人員將逐漸的轉化爲SEPG人員,並且更加了解管理知識,而SQA工作漸漸成爲他們的兼職工作。

這種情況在許多CMM5企業比較多見,往往有時看不見SQA人員在項目組出現或者很少出現,這種SEPGSQA的融合特別有利於組織的過程改進工作。SEPG確定過程改進內容,SQA計劃重點反映這些改進內容,從保證有效的改進,特別有利於達到CMM5的要求。從這個角度,國外的SQA人員爲什麼高薪就不難理解了,也決定了當前中國SQA人員比較被輕視的原因;因爲管理過程還不完善,我們的SQA人員還沒有產生這麼大的價值嘛!

2.6QA和組織級的監督管理

有的企業爲了更好的監督管理項目,建立了一個角色,我取名爲“組織級的監督管理者”,他們的職責是對所有項目進行統一的跟蹤、監督、適當的管理,來保證管理層對所有項目的可視性、可管理性。

爲了有效管理項目,“組織級的監督管理者”必須分析項目的數據。

他們的職責對照上圖的模型,就是執行“反饋”職能。

QA本身不進行反饋工作,最多對過程執行情況的信息進行反饋。

SQA職責最好不要和“組織級的項目管理者”的職責混合在一起,否則容易出現SAQ困境:一方面SQA不能準確定位自己的工作,另一方面過程執行者對SQA人員抱有較大戒心。

如果建立了較好的管理過程,那麼就會增強項目的可視性,從而保證企業對所有項目的較好管理;而QA來確保這個管理過程的運行。

三、SQA的工作內容和工作方法

3.1 計劃

針對具體項目制定SQA計劃,確保項目組正確執行過程。制定SQA計劃應當注意如下幾點:

有重點:依據企業目標以及項目情況確定審計的重點

明確審計內容:明確審計哪些活動,那些產品

明確審計方式:確定怎樣進行審計

明確審計結果報告的規則:審計的結果報告給誰

3.2、審計/證實

依據SQA計劃進行SQA審計工作,按照規則發佈審計結果報告。

注意審計一定要有項目組人員陪同,不能搞突然襲擊。雙方要開誠佈公,坦誠相對。

審計的內容:是否按照過程要求執行了相應活動,是否按照過程要求產生了相應產品。

3.3、問題跟蹤

對審計中發現的問題,要求項目組改進,並跟進直到解決。

四、SQA的素質

過程爲中心:應當站在過程的角度來考慮問題,只要保證了過程,QA就盡到了責任。

服務精神:爲項目組服務,幫助項目組確保正確執行過程

瞭解過程:深刻了解企業的工程,並具有一定的過程管理理論知識

瞭解開發:對開發工作的基本情況瞭解,能夠理解項目的活動

溝通技巧:善於溝通,能夠營造良好的氣氛,避免審計活動成爲一種找茬活動。

如果想了解更多相關內容請訪問:

 

http://51cmm.csai.cn/SoftQuality/No016.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章