如何做好SQA?

 1. 引言
在CMM標準下,SQA(質量保證)人員獨立於軟件項目組負責軟件質量保證,具體的職責在我們的《軟件質量保證》(機構標準v1.1)KPA文檔中定義如下:
1) 實施軟件質量保證活動;
2) 定期總結並提交軟件質量保證活動的審覈報告;
3) 制定項目的SQA計劃;
4) 參加項目的軟件開發計劃、標準和過程的準備及評審;
5) 協助項目經理建立項目的質量目標;
6) 跟蹤和監督糾正措施的實施;
7) 定期和必要時分析項目提供的原始數據並報告結果;
8) 如果需要,與客戶的SQA人員定期評審SQA人員的活動及發現的問題。
其實,以上職責中,第一條就已經涵蓋了其他幾條的內容,只不過其他幾條更加具體,是第一條職責的細化。但是,這些職責只是文檔中定義了的而已,並不全面,特別是對於剛開始實施CMM的企業來說,SQA爲了達到軟件質量保證的目的,要做很多其他的工作。因爲他要進行質量保證,首先必須要推廣CMM,也就說,他必須不斷地跟軟件項目組和相關組的人員解釋CMM的標準是怎樣的,才能讓他們按照CMM的標準作。因此,一名SQA的活動可以圍繞兩個方面來進行:一是推廣CMM標準,二是檢查執行情況。

儘管公司在正式實施CMM之前對和軟件項目有關的人員會進行有關CMM的培訓,但這樣並不足以使CMM標準的執行者足以理解它,更談不上去操作它。怎樣讓他們更多地知道CMM標準,使他們在工作中能夠按照CMM標準去做呢?這些都依靠和他們密切相關的SQA人員的努力。
SQA人員在履行職責之前,應該認真的學習CMM標準,深刻理解每個KPA的目的,熟練掌握每個KPA的流程。然後,對於公司定義的CMM標準要非常的熟悉,不僅要知道SQA在本公司每個KPA是怎樣操作的,而且要知道其他角色按照本公司定義的CMM標準的工作流程,還要知道公司軟件開發中每一種工作產品的質量標準。以上這些條件構成SQA人員推廣CMM標準的前提。
在剛剛開始實施CMM時,碰到的問題往往要比想象的還多,作爲一名SQA人員,要本着解決這些問題的目的去進行自己的工作,而並不只是起到監督的作用。SQA人員在負責一個軟件項目的質量保證工作時,要隨時瞭解項目的進展情況,在軟件項目組的每一個活動之前,就要和軟件項目組成員特別是軟件項目經理進行交流,直到他們知道按照CMM的標準應該怎樣去做。比如說,在進入項目之前,就要告訴軟件項目組按照公司定義的CMM標準怎樣去管理需求。有些活動並不是必須要求SQA人員參加的,如周例會,但爲了指導軟件項目經理怎樣跟蹤項目的工作量、進度、風險等等,SQA人員通常也是每會必到,在會後還要指導他們填寫週報等等。
即使軟件項目組的每一個活動都是在SQA人員的指導下完成的,SQA人員在對項目進行評審時,仍然可以找到一些與CMM標準不相符的地方,因爲軟件項目組每一個人對CMM標準的理解程度並不一樣,具體執行起來還會存在一定的偏差。SQA人員發現這些問題後,首先應及時和軟件項目經理進行溝通,爭取對這些問題達成共識,同時,要對他們的工作加以肯定,強調他們工作成績是主要的,這些問題在CMM剛剛實施時是難免的,是很容易克服的。千萬不要輕易上報,否則,很容易打擊他們的積極性,甚至引起牴觸情緒。
也許,當SQA人員針對評審時發現的問題給軟件項目經理提出改進建議後,項目經理出於進度的壓力或其他原因,並不引起重視甚至拒絕採取任何措施,這是很正常的現象,SQA人員也不要立即上報,否則,更加不利於問題的解決。在這個時候,SQA人員要理解軟件項目經理,要爲他們提供更爲方便的服務,儘量減少他們的工作量,例如,提供別的項目的同類文檔以供參考,共同去填一些表格,把模板針對項目做一些細化、具體工作等等。一般情況下,軟件項目經理在這樣的引導下還是會盡量去改進的,除非極端情況下,才向高級管理者彙報。
總之,SQA人員在自己對CMM標準非常熟悉的情況下,要有足夠的耐心和決心,把CMM標準推廣到項目中去。在軟件項目組所有成員按照CMM標準做過一兩個項目之後,對這種工作流程和標準會比較熟悉,而且執行之後的優越性會逐漸體現出來,SQA人員的工作會慢慢變得輕鬆一些。
3 幾個KPA中的SQA活動
3.1 需求管理
在這個KPA中,SQA必須檢查軟件項目組以下幾個方面:
1) 給定需求交給軟件項目組之前經過評審,確保需求沒有問題;
2) 當給定需求發生變更時,軟件開發計劃、工作產品和活動有沒有進行相應的適當的修改;
3) 由於給定需求更改引起了約定的更改,這些更改有沒有經過相關小組協商。
對於第一方面的檢查,是SQA在參與制定軟件開發計劃之前,檢查軟件項目組的《客戶需求書》評審記錄,如果評審沒有通過,是否有再評審。由於《客戶需求書》已經納入配置管理,SQA在每月審覈基線庫的時候,可以發現給定需求的變更情況,同時要審覈軟件開發計劃、工作產品和活動是否針對變更的需求進行了適當的修改,審覈約定更改是否經過相關小組的簽字確認,這樣就檢查第二和第三方面的內容。
3.2 軟件項目計劃
在這個KPA中,SQA必須檢查軟件項目組一下幾個方面:
1) 軟件估計和計劃的活動是否進行;
2) 評審和形成項目約定的活動是否進行;
3) 制定軟件開發計劃的活動是否進行;
4) 用於制定軟件開發計劃的標準是否遵守;
5) 軟件開發計劃的內容是否完整。
由於SQA人員要參照軟件開發計劃制定SQA計劃,所以必須密切關注軟件項目組的計劃制定情況,同時也在審覈軟件開發計劃活動。在軟件開發計劃制定完畢後,SQA必須評審軟件開發計劃,首先對照軟件開發計劃模板,審覈計劃的內容是否完整,是否符合給定需求、項目、客戶等的標準,審覈計劃中是否有工作產品規模、工作量、成本、進度和風險的估計,估計的方法是否適合。
3.3 軟件項目跟蹤和監督
在這個KPA中,SQA必須檢查軟件項目組一下幾個方面:
1) 評審和修改約定的活動是否進行;
2) 修訂軟件開發計劃的活動是否進行;
3) 修訂軟件開發計劃的內容是否進行;
4) 跟蹤軟件項目的成本、進度計劃、風險、技術和設計限制、功能和性能等有關活動是否進行;
5) 實施計劃安排的評審技術和管理的活動是否進行。
里程碑時,SQA通過檢查約定修改和評審的記錄審覈該活動是否進行;檢查當前工作產品審覈軟件開活動是否與計劃相符,如果不符,審覈是否有修訂軟件開發計劃的活動;通過檢查軟件項目組的週報審覈軟件項目經理是否跟蹤軟件項目的成本、進度、風險、技術等;對照同行評審計劃的內容檢查評審記錄,驗證計劃安排的評審技術和管理活動是否進行。
3.4 軟件配置管理
在這個KPA中,SQA必須檢查軟件項目組一下幾個方面:
1) SCM組、SCCB、軟件項目組是否遵循SCM的標準和規程;
2) 對軟件基線有定期審覈。
SQA每月定期審覈配置管理活動,對照軟件配置管理計劃檢查配置管理員是否及時將配置項納入配置管理,成爲基線的配置項是否經同行評審和SCCB批准,軟件項目組對配置項的變更是否遵循了配置項的變更控制流程。檢查配置管理員是否定期報告基線庫狀態,軟件項目經理是否定期審覈基線庫。
在這個KPA中,SQA必須檢查SEPG組的以下幾個方面:
1) 編寫和維護機構標準軟件過程和相關過程資源以及建立文檔時是否遵循適當的標準;
2) 使用機構標準軟件過程和相關過程資源時是否受控。
SQA每月審覈機構標準軟件過程和相關過程資源,檢查文檔變更是否符合變更流程。
3.6 同行評審
在這個KPA中,SQA必須檢查軟件項目組的以下幾個方面:
1) 所計劃的同行評審已被實施;
2) 同行評審負責人根據其職責接受過充分的培訓;
3) 評審人員根據其職責接受過適當的培訓或具有相關的經驗;
4) 準備同行評審、實施同行評審和完成後繼措施等過程得到遵循;
5) 同行評審的數據報告具有完整性、精確性和及時性。
在里程碑時,SQA根據軟件開發計劃檢查計劃的同行評審是否實施,通過檢查評審記錄,審覈同行評審是否符合CMM規程。
3.7 綜合軟件管理
在這個KPA中,SQA必須檢查軟件項目組的以下幾個方面:
1) 制定和修改項目定義的軟件過程;
2) 項目的軟件開發計劃和軟件風險管理計劃的準備過程;
3) 依據項目定義的軟件過程管理項目的過程;
4) 爲機構的軟件過程數據庫收集和提供合適數據的過程;
5) 使用機構的軟件過程數據庫支持軟件項目的計劃、評價和跟蹤過程。
SQA人員在軟件項目組開始啓動項目時指導軟件項目經理制定項目定義的軟件過程,里程碑時依
照項目定義的軟件過程檢查軟件項目組管理項目的活動,每季度檢查一次軟件項目組是否按規程爲機構軟件過程數據庫提供數據,里程碑時檢查軟件項目組的計劃、評價和跟蹤過程是否合理的使用了機構過程數據庫。
3.8 軟件產品工程
在這個KPA中,SQA必須檢查SEPG組的以下幾個方面:
1) 軟件需求是否經過評審;
2) 每個軟件工程任務的準備就緒和完成準則得到滿足;
3) 軟件產品符合規定的標準和需求;
4) 已完成所需的測試;
5) 依據書面計劃和規程完成軟件的系統測試和驗收測試;
6) 測試滿足軟件測試計劃中的驗收標準;
7) 已圓滿地完成測試並記錄了測試結果;
8) 檢測出的問題和缺陷以建立文檔,並被跟蹤和處理;
9) 通過軟件需求、設計、代碼和測試用例,對給定需求的跟蹤得以實施;
10) 在軟件產品提交給客戶和最終用戶前,依據軟件基線和給定需求驗證了用來管理和維護軟件的文檔。
SQA人員在里程碑時根據軟件開發計劃檢查該里程碑所產生的軟件工作產品是否符合有關規程。
3.9 培訓大綱
在這個KPA中,SQA必須檢查軟件項目組的以下幾個方面:
1) 制定和修改培訓大綱的過程是否得到遵循;
2) 制定和修改培訓課程的過程是否得到遵循;
3) 培訓記錄是否得以適當管理;
4) 指定要培訓的成員是否完成了所需的培訓;
5) 機構的培訓計劃是否得到遵循。
針對公司培訓機構專門設立SQA人員,每月檢查培訓機構的相關文檔,審覈其活動是否符合有關
規程。
3.10 組間協調
在這個KPA中,SQA人員必須檢查軟件項目組的以下幾個方面:
1) 用於識別協商和跟蹤項目工程組間關鍵依賴關係的規程是否確定;
2) 組間問題的處理是否符合規程。
SQA人員檢查工程計劃中確定組間關鍵依賴關係的規程,通過檢查業務裁決書和備忘錄審覈組間
問題的處理是否符合規程。
3.11 軟件質量保證
SQA人員在參與制定軟件開發計劃的同時,制定該項目的SQA計劃,制定完畢後由開發部經理、工程經理和軟件項目經理評審。SQA人員根據計劃進行SQA活動,當軟件開發計劃發生變更時,SQA計劃作相應的變更。
SQA人員在對軟件項目進行驗證後,將結果填SQA檢查報告,該報告至少應該包括以上KPA中所列的應該檢查的方面,格式可如下表:

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