
在這一篇文章中,我們繼續使用這一張圖將進一步介紹QA,以及在軟體業內對於QA的期望。
QA
一開始的品質保証(QA)是建立在「品質是設計出來的」的精神上。
這個要從二次大戰時美國的飛機故障無法執行任務說起,根據事後的檢討發現原因出在真空管失效。但是研究人員同時也發現,飛機上的真空管,都是在出廠時即已檢定合格的產品,裝在飛機後卻無法發揮功能,頗令人費解。
經過研究人員鍥而不捨的找問題,終於發現真空管失去功能的原因,是以往廠商都只注意到生產階段的「廠內品管」,卻忽略了非生產階段的「廠外品管」--「產品運輸」和「使用階段」。這個問題牽涉到兩點:第一、產品設計能否提昇產品之使用年限。第二、產品在正常使用狀況下,如何減低故障率,延長產品保証不會損壞之年限。
於是發展出可靠度(如壽命運輸,環境等試驗)的理論與做法。同時,為了保證這兩個階段的產品可靠度,所以須在產品的企劃與設計階段就先行管制好,以確保在設計時就考慮了客戶需求。此外,也加入了設計審查,以確保產品設計時所考量的客戶需求,未改變或短少。
所以,由「產品是設計出來的」品質觀念所衍生出的品質制度,是一個在產品設甫開發過程即已考慮顧客需求的品質保証(QA)制度。
TQC
「全面品管」(TotalQuality Control,簡稱TQC)是建立在「品質是管理出來的」的觀念上。
提出該觀念的費根堡認為,品管觀念與作法不應侷限於與生產有關之部門而已,企業內任何部門(包括高級主管在內),都應有其份內與產品品質有關之品質作為。例如:管理者應建立品質政策及激勵措施,以促使員工重視品質;人事部門應負責依照工作需要甄選合格之員工、並安排適當教育訓練,以提昇員工之工作品質。
就在費根堡提出TQC觀念後,日本品管專家石川馨則進一步提出全企業品管或全員品管(Company-wide quality control,簡稱CWQC)觀念,較費根堡原先提出之TQC,在影響層面和作法上更加深入。
石川馨認為,產品品質不只是品管單位的責任,而是企業全體員工的工作。上自董事長,下至最基礎的每一個員工,不但需要俱備品質意識,還需要瞭解品管技巧使之活用於本身之工作。。故其品管觀念是屬於全員式之品管。後來費根堡也贊同石川馨之觀念,因此目前此二者已不分軒輊。
採用TQC觀念的企業,內部各單位開始組成品質改善小組(Quality Improve Team, QIT), 運用品質手法來解決自己週遭的品質問題,而品質管理委員會(或類似之組織)亦成為企業最高的品質指導單位。
最後,由「產品是管理出來的」品質觀念所衍生出的品質制度,從僅考慮顧客需求的產品設計(產品面),又融入了全員參與、全過程、全方位控制品質,向後延伸到含括售後服務(抱怨處理)。
軟體業的QA (SQA)
在軟體業中也有QA,被稱為SQA,不過在台灣的軟體業中的某些人、甚至是一些非常資深、高階的從業人員,常搞不清楚SQA和Tester的分別。如果你不相信,你可以直接在104內用「SQA」找應徵的工作、並看「工作內容」,就可以知道我所言不虛。以下就是我找到其中兩間企業對SQA工作內容的「看法」。
第一間

是某間很知名的企業,在台灣、大陸都有設廠,他要找的SQA的工作內容(和我的翻譯)如下:
- Hands-on experience in Linux system or Android platform handheld device testing,
有測試在Linux系統或Android平台手持設備的實務經驗 - Familiar GSM/GPRS/EDGE/WCDMA wireless communication or TCP/IP protocol
熟悉GSM / GPRS /的EDGE / WCDMA無線通信或TCP / IP協定 - Having related experiences with protable device and embedded system testing program development
有可攜式設備和嵌入式系統的測試程序開發相關經驗 - Good teamwork and communication.
良好的合作與溝通 - Good at problem shooting and creative problem solving skills
擅長解決問題和建立解決問題的技巧
所以,從這間企業的人力需求部門所提供對SQA「工作內容」的要求可以知道,他們並不十分清楚地知道SQA在作什麼!我們繼續看下一間:
第二間

是某間知名生產手機的企業,他要找的SQA的工作內容如下:
- 撰寫自動化測試scripts
- 手機軟體測試
- 手機相關工具(Production tool, download tool...etc)測試
- 測項建立與維護
- Bug 分析與追蹤
所以,從這間企業的人力需求部門所提供對SQA「工作內容」的要求,我們還是知道他們仍然不清楚SQA在作什麼!
SQA的工作內容
以下的列表,是我好久以前在應徵工作時就蒐集到的SQA工作內容(因為這篇文章我很久之前就想寫了),也是我個人認為SQA真正應該作的工作:
- Define SW Process
定義軟體(開發)流程 - Establish Software Quality Assurance Plan (SQAP)
建立軟體品質保證計畫 - Process Training to Project Stakeholder
對專案關係人實施流程訓練 - Attend Work Product Inspection Meeting, Project review Meeting
出席工作/產品 Inspection會議、專案Review會議 - Perform Process/Product auditing
稽核流程/產品 - Support Customer SQA Activity
支援顧客SQA活動 - Define Process Improvement Plan
定義流程改善計畫
第二項工作,SQA必須制定出對應這個發開流程的品質保證計畫,包括最基本的:需求(變更)管理方式、組態(變更)管理方式、Issues管理方式。
第三項工作,SQA必須對和專案有關的人員提出教育與訓練,讓他們了解前面兩項要求並使之有能力操作,同時在實施的過程V&V此二者,以確保它們不但可以執行而且有效。
第四項工作,SQA必須對出席專案執行過程中所需的 Inspection、Review會議,除了能確保這些會議已被確實執行,也能藉由這些會議觀察開發成員的成熟度。
第五項工作,SQA在專案執行中、結束時,都可以對專案的過程文件、產品本身進行稽核以確保這些流程的有效性、符合性、落實性。
第六項工作,SQA能對(廣義的)顧客(如:外包商、客戶)提出支援,項目包括前述這五項。
第七項工作,SQA必須有能力對流程和品質保計畫,針對不足的部份進行改善。
小結
從第一、二段介紹的QA、TQC來看我提出的SQA 的「工作內容」,你會發現,SQA所需要作的工作絕不只上述的項目,但能作到以上的工作項目,SQA才算是完成「最基本」的QA要求。
至於Tester和SQA的關係和比較,下一篇文章我將繼續說明。
- 晨晰統計部落格(問卷與統計的討論園地) - 《品質階段-品保(QA)》
- - 中国汽车技术论坛 -《13.品質觀念的演進2 - 『品质管理』》
- MBA智库百科-《全面质量控制》
Frankly, it seems to me that "Define SW Process" is SEPG's job function, rather than SQA. Of course, I agree that in a smaller company, SQA and SEPG are interchangable.
回覆刪除Hi 喲哪桑:
回覆刪除我同意你說的「"Define SW Process" is SEPG's job function」,但現實情況中,知道SEPG的公司都不多了,更何況是成立的?
在現實情況(和我的經驗)中,大多是由SQA主導,經過與Leader溝通、討論後,就開始施行。
這個過程其實很接近SEPG,只是沒有一個正式的組織。