質量保證(QA)是干什么的?
從事軟件質量保證工作已有幾個年頭,經常有朋友問起軟件質量保證到底是干什么的?每次總回答就是輔導和監督項目開發按照公司研發過程執行的,仔細想想實際并沒有這么簡單,為了讓更多朋友了解質量保證這個崗位,在此結合這幾年的工作經驗進行如下總結,若有不對的地方歡迎大家指正與交流,謝謝!
1、什么是質量保證?
在CMMI中,質量保證的英文全稱是Process and Product Quality Assurance,即過程與產品質量保證。一般大家更習慣叫質量保證或QA,它的目的是為員工和管理層提供過程和相關工作產品的客觀洞察。之所以說它客觀是因為:
1)質量保證人員是一個獨立于項目組之外的第三方審計人員,不能是直接參與開發、測試和項目管理的人(當然實際也有例外,有些公司QA可能是兼職的);
2)質量保證人員不受監督對象部門的績效評價;
3)質量保證人員具有獨立的問題匯報渠道(可以跨級上報——QA很重要的特權)。
2、軟件質量保證工作內容?
一般設有軟件質量保證崗位的公司都有一套依據自己公司實際研發現狀制定的完整研發過程體系,所有的軟件質量保證人員入職一家新公司,首先需要做的事情就是學習和深刻了解該公司研發過程體系,否則后續工作是無法開展的。
一般軟件質量保證工作內容主要分三大塊:
1)過程輔導
依據研發過程體系輔導所有開發項目/版本前期及項目過程各個環節及各環節具體活動執行(含流程、方法、模板及過程中相關工具的使用)。
輔導時機:
● 到達項目/版本計劃中計劃的時間點
● 觸發事件驅動(如:郵件)
輔導方式:
● 口頭
● 郵件
● 電話
● 通訊工具(如:QQ、RTX等)
● 必要時可以開展正式的課堂培訓(一般很少)
2)過程檢查
所有開發項目/版本開發過程中,依據當前的研發過程體系客觀的對實際執行情況進行檢查與評價。
檢查的方式:
● 參加項目會議(評審會、周會)
● 與各個環節人員溝通
● 觸發事件驅動(如:郵件)地進行檢查
● 檢查工作產品
3)過程問題記錄與跟蹤
記錄過程檢查過程中發現的不符合項,并與相關負責人進行溝通,了解產生問題的原因,跟蹤不符合項確保問題得到解決。
伴隨上工作過程中還會有一些其他工作內容,如下:
4)向項目組和管理層提供質量保證活動結果——風險預警與問題報告。
預警風險、及早報告項目問題,使項目免受損失或少受損失,是質量保證的重要價值體現。
有經驗的質量保證人員能夠基于過程中了解到的項目過程質量狀況和產品質量狀況,及時識別出項目過程中存在的風險和發現過程問題,并定期(一般都是一周)向項目組與管理層預警風險、報告問題。
項目組必須在規定的期限內回復質量保證人員報告的問題。
對于無法協調一致的問題要及時升級。
● 就質量保證問題的認定雙方不能達成一致。
● 就質量保證問題的解決計劃雙方不能達成一致。
● 項目組未按計劃解決質量保證問題。
● ……
管理層必須及時處理升級的問題。
● 強制項目組解決。
● 豁免。
5)嚴重問題根因分析
質量保證人員需要定期(如每月/季度)對記錄的問題進行分類與分析,對于過程中發生的嚴重問題或事故,必須了解問題產生的根源才能夠在后續進行規避。一般若公司有多個質量保證人員,應以部門為單位開展問題根因分析活動,必要時還可以邀請EPG小組成員一起),問題根因分析活動結束后應向相關領導出具根因分析報告,提出當前的對策及未來建議。
6)收集與反饋過程改進建議,協助過程改進
一般公司EPG(過程改進小組)大都由其它崗位人員兼職的,我就職的3家公司質量保證人員都會兼EPG中的某個角色。
質量保證人員在項目過程中會與軟件生命周期各個環節的人員打交道,有心的質量保證人員在此過程中肯定能夠發現很多研發過程體系不合理或不夠完善的地方,同時項目結項時質量保證人員要進行質量保證總結,在總結過程中也可以收集到很多過程改進建議,質量保證人員要定期將收集到的過程改進建議反饋給EPG組長,由EPG組長規劃過程的改進。
7)其它
其它依據各個公司具體情況而定,如:定期進行交叉檢查,開展研發過程體系培訓,度量項目過程,協助項目經理監控項目進展。
軟件質量保證工作的開展是有計劃有序進行的,一般項目初期(如:項目計劃階段)質量保證人員要制訂質量保證計劃,質量保證計劃要得到項目經理、質量部門負責人的評審/審批。
同時在實際檢查過程中也是有依據的——QA檢查單,一般公司研發過程體系中都會制訂一份完整的QA檢查單模板,各個項目要依據項目過程定義進行裁剪。
3、質量保證人員的素質和能力要求
軟件質量保證工作涉及到軟件工程的各個方面,軟件質量保證人員要與不同角色的人員進行溝通,因此軟件質量保證人員除了要有較高的智商和情商外,還有具備如下的素質和能力:
1)要有控制軟件質量的能力
也就是說要熟練掌握公司各種流程、標準和規范,做好第三方獨立審計的工作并及時發現、糾正問題。在必要時可以利用向高層領導直接匯報的權力來“威懾”相關人員,以確保軟件質量朝好的方向發展。在控制軟件質量發展方向的同時要學會控制自己的情緒,因為并不是所有人員都很了解公司的研發流程、軟件質量保證的工作以及如何從根本上去提高軟件質量,工作中很多時候有“秀才遇到兵,有理說不清”的感覺,這時就更加需要控制自己的言語和情緒,找到合適的方式進行溝通,使問題最終得到解決。
2)對問題根源識別和歸納的能力,即透過現象看本質的能力。
3)舉一反三的能力。
4)很強的溝通能力。
5)要適當強勢,做好靈活性與原則性間的平衡的能力
6)客觀、對事不對人的職業素養
4、質量保證人員的技能要求
● 軟件工程/系統工程的理論、方法
● 工作過程標準
● 溝通、協調技能
● 基本的管理知識和技能
● 項目管理的理論、方法
● 質量保證工作的原理、方法
5、軟件質量保證崗位等級
1)交警(初級)
像交警查處交通違章那樣,直接向所發現的不符合項貼“罰單”即可。
2)醫生(中級)
像醫生那樣對項目進行檢查和診斷,發現問題并可以開出“藥方”。
3)老師(高級)
像老師那樣發現學生的弱項,并找到如何提高學生能力的方案,然后對學生進行輔導和培訓。
版權聲明:本文出自 mandy.wang 的51Testing軟件測試博客:http://www.51testing.com/?417295
原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任
posted on 2012-08-20 10:08 順其自然EVO 閱讀(2406) 評論(0) 編輯 收藏 所屬分類: CMMI & QA