
行質量保證的SQA工作也應當立足于企業(yè)的戰(zhàn)略目標,從這個角度思考SQA,形成對SQA的理論認識。
軟件界已經達成共識的:影響軟件項目進度、成本、質量的因素主要是 “人、過程、技術”。首先要明確的是這三個因素中,人是第一位的。
現(xiàn)在許多實施 CMM的人員沉溺于CMM的理論過于強調“過程”,這是很危險的傾向。這個思想傾向在國外受到了猛烈抨擊,從某種意義上各種敏捷過程方法的提出就是對強調過程的一種反思。 “XP”中的一個思想“人比過程更重要” 是值得我們思考的。我個人的意見在進行過程改進中堅持“以人為本”,強調過程和人的和諧。
根據現(xiàn)代軟件工程對眾多失敗項目的調查,發(fā)現(xiàn)管理是項目失敗的主要原因。這個事實的重要性在于說明了 “要保證項目不失敗,我們應當更加關注管理”,注意這個事實沒有說明另外一個問題“良好的管理可以保證項目的成功”?,F(xiàn)在很多人基于一種粗糙的邏輯,從一個事實反推到的這個結論,在邏輯上是錯誤的,這種錯誤形成了更加錯誤的做法,這點在SQA的理解上是體現(xiàn)較深。
如果我們考證一下歷史的沿革,應當更加容易理解 CMM的本質。CMM首先是作為一個“評估標準”出現(xiàn)的,主要評估的是美國國防部供應商保證質量的能力。CMM關注的軟件生產有如下特點:
(1)質量重要
(2)規(guī)模較大
這是 CMM產生的原因。它引入了“全面質量管理”的思想,尤其側重了“全面質量管理”中的“過程方法”,并且引入了“統(tǒng)計過程控制”的方法??梢哉f這兩個思想是CMM背后的基礎。
上面這些內容形成了我們對軟件過程地位、價值的基本理解;在這個基礎上我們可以引申討論 SQA。
2.3.2 生產線的隱喻
如果將一個軟件生產類比于一個工廠的生產。那么生產線就是過程,產品按照生產線的規(guī)定過程進行生產。 SQA的職責就是保證過程的執(zhí)行,也就是保證生產線的正常執(zhí)行。
抽象出管理體系模型的如下,這個模型說明了一個過程體系至少應當包含 “決策、執(zhí)行、反饋”三個重要方面。

QA的職責就是確保過程的有效執(zhí)行,監(jiān)督項目按照過程進行項目活動;它不負責監(jiān)管產品的質量,不負責向管理層提供項目的情況,不負責代表管理層進行管理,只是代表管理層來保證過程的執(zhí)行。
2.3.3 SQA和其他工作的組合
在很多企業(yè)中,將 SQA的工作和QC、SEPG、組織級的項目管理者的工作混合在一起了,有時甚至更加注重其他方面的工作而沒有做好SQA的本職工作。
國內現(xiàn)在基本有三種QA(按照工作重點不同來分):一是過程改進型,一是配置管理型,一是測試型。個人認為是因為SQA工作和其他不同工作組合在一起形成的。
下面根據經驗對它們之間的關系進行一個說明。
QA和QC ,兩者基本職責;
QC:檢驗產品的質量,保證產品符合客戶的需求;是產品質量檢查者;
QA:審計過程的質量,保證過程被正確執(zhí)行;是過程質量審計者;
注意區(qū)別檢查和審計的不同,檢查:就是我們常說的找茬,是挑毛病的;
審計:來確認項目按照要求進行的證據;仔細看看CMM中各個KPA中SQA的檢查采用的術語大量用到了“證實”,審計的內容主要是過程的;對照CMM看一下項目經理和高級管理者的審查內容,他們更加關注具體內容。
對照上面的管理體系模型,QC進行質量控制,向管理層反饋質量信息;QA則確保QC按照過程進行質量控制活動,按照過程將檢查結果向管理層匯報。這就是QA和QC工作的關系。
在這樣的分工原則下, QA只要檢查項目按照過程進行了某項活動沒有,產出了某個產品沒有;而QC來檢查產品是否符合質量要求。
如果企業(yè)原來具有 QC人員并且QA人員配備不足,可以先確定由QC兼任QA工作。但是只能是暫
項目經理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://www.vanceur.cn/pmqhd/index.html