1. 程式人生 > >Always On The Way

Always On The Way

    按照CMMI的框架,QA的職責有二:依據一定的標準對過程進行評價;依據一定的標準對工作產品進行評價。貌似從這兩點,讓人感覺QA就是在對專案組品頭論足,挑毛病,不斷的給專案組製造麻煩。有一些問題還會直接報告給高層領導,在領導面前“打小報告”。QA還強迫專案組按照組織的過程做很多開發以外的事情,寫很多文件。可能的確存在這樣的情況,也有很多研發人員有這樣的感覺,我自己也曾經有過這樣的感覺。

    看了一些書,查了一些資料,慢慢的瞭解到,質量保證是缺陷預防的一種手段,只有保證開發過程正確的情況下,才能更好的發現缺陷,從而保證產品的質量。QA是專案組的老師、警察和醫生。QA首先要對公司的規程、規範瞭解和熟悉,具有一定的學習和溝通能力,只有自己弄懂了才能培訓和專案組成員。在專案組成立之初,就介入專案組,指導和協助專案經理進行過程裁剪,專案估算。在後來的研發過程中,指導每個過程的執行。警察的角色聽上去有點嚴肅的感覺,就是依據公司的規範和標準流程結合專案組的情況進行公平公正的評價。QA還擔當了醫生的角色,當專案組遇到困難或出現問題時,QA會協助專案組分析問題發生的原因並找到合理的解決辦法。所以,QA並不是如前面所說的,QA是專案組很好的合作伙伴和朋友。

    舉一個QA起作用的例子:有次QA評價專案的設計文件,發現有些內容不夠全面和具體,經過QA和專案經理及責任人的溝通,最後決定進一步完善,不然後來的編碼工作會受到影響。半個月後,其中的一名程式設計師張要調走,李來接手,此時張感慨,多虧設計文件完整細緻,真有交接才發現節省了不少時間。

    我認為真正的QA工作很具有挑戰性,要有足夠的開發經驗,管理經驗和專案管理知識。有公平公正的素質和較強的溝通能力。有不斷學習、提高自我的精神。要學會換位思考,從專案經理的角度想想專案怎樣才能做得更好,專案組應該如何去計劃,哪些方面應該重點關注或容易出現問題,與專案經理溝通想法,認真聽取專案經理意見,對於問題及時指出,避免專案組走彎路。

    另外,QA要按照合理的報告機制來解決問題,否則可能引起很多矛盾。在評價過程或工作產品完成時,不論是否通過,QA都要向相關責任人報告評價結果。有不易理解或有分歧的地方,QA有義務進行解釋和溝通,證明QA評價有錯誤或遺漏的,應修改評價,並重新發送給相關人員。在專案組內不能解決的問題,需要跟專案經理溝通後逐級上報給高層,直到問題解決。發現問題不是目的,重要的是跟蹤並驗證問題的解決。

    對QA工作的度量主要從幾個方面展開:投入的工作量佔專案總工作量的比例,一般控制在5%以內,如果太多,則考慮專案組對過程理解有問題。QA發現的不符合問題的數量,過程穩定後,QA發現的不符合問題數,應該等於專案組以人月數計算的工作量,比如專案組的工作量是80——100人月,則QA應該發現80——100個問題。對公司的有關過程和標準提出改進建議數量。

    總結完上面的對QA瞭解的內容之後,我清楚的認識到,為什麼說質量保證是缺陷預防的手段,QA的確是在為專案開發保駕護航,不再認為是督促研發人員寫文件,迫使專案組執行標準過程,為專案組增加無謂的負擔。