專案管理過程之質量管理 (轉)

ger8發表於2007-08-09
專案的質量管理
質量是指專案滿足明確或隱含需求的程度。前面討論過,質量一般透過定義交付物標準來明確定義,這些標準包括各種特性及這些特性需要滿足的要求。另外,質量還包含對專案的過程的要求,比如規定執行過程應該遵循的規範和標準,並要求提供過程被有效執行的證據。因此,質量管理主要就是監控專案的交付物和執行過程,以確保它們符合相關標準,同時確保不合格項能夠按照正確方法排除。

質量管理的實質通俗地講就是“把要做的寫下來”,“把寫的做出來”,“把做的過程記下來”,大家可能注意到一點:其中主要說的就是兩個字“做”和“寫”,與我們一般做事方法不同之處在於多了個“寫”的動作,因此用“文件”管理“過程”成為質量管理的一個重要特點。我們舉一個簡單例子說明如何透過各種文件控制一個過程,一般這需要三種文件:

1)記錄:記錄活動的過程和結果,最常見的記錄就是表格。一個過程可能涉及A、B、C和D四個活動,並由不同的人員執行。每個人完成各自活動後就記錄處理過程和結果,並簽字確認。因此這個表格留下了所有人相關人員處理的“痕跡”,一旦出了問題就可以回溯,確定是哪一步出了什麼問題。

2)規程:光有一個表格還不行,還需要一個檔案規定活動的執行順序和要求,這樣的檔案就是規程。規程表示按A-B-C-D順序執行,複雜的規程還可能包括條件分支,每一步驟的具體操作和要求也應該在規程中描述。

3)狀態:有了記錄和規程還會發生問題。比如,記錄丟失了而不知道誰負責(甚至根本不知道丟失了)。這是因為不知道記錄的狀態當前在誰手裡,處理的結果如何。因此還需要狀態文件。

這確實多了一些“額外”的工作,不光需要員工額外的“文字”工作,還可能增加專職的管理人員,所以質量管理需要一定的“代價”。IT企業中,幾乎所有開發人員都知道“質量”的重要性,但卻不能正確看待質量的“代價”。一旦需要他們填寫表格或者嚴格遵照流程工作時,多數都會說“太麻煩了”“效率太低了”。的確,如果沒有文件工作一定程度上可以提高效率、節約成本,但長期看因管理混亂和質量低劣帶來的損失可能遠遠大於短期的利益。還有一種常見的錯誤看法是“質量就是湊齊文件”,表現為在進度壓力下違規操作,待完成專案後匆匆補文件。坦率地說,如果補的是中間文件(例如部分詳細設計)還情有可原,如果補“過程記錄”則實在不甘恭維。例如,筆者就見過在專案完成後補《測試錯誤記錄》的情況,其實這時補這些文件對測試過程的管理已經根本沒有意義,花時間精力僅僅是讓專案看起來規範一些,可以算是一種“粉飾太平”的行為。個人認為,如果你真的認為一個過程不需要文件也可以控制,則可以進行適當的裁剪。其實專案並非越規範越好,應該根據具體的質量要求平衡質量和進度、成本三者的關係。

質量管理活動基本包括質量保證和質量控制兩類。質量保證是在專案過程中實施的有計劃、有系統的活動,確保專案滿足相關的標準,典型的例子是評審和審計。質量控制指採取適當的方法監控專案結果,確保結果符合質量標準,還包括跟蹤缺陷的排除情況,典型的例子就是測試。對於軟體開發來說,重要的質量活動包括:

1)評審:檢查專案中間產品,早期發現缺陷以減少後期修改和返工的工作量。

2)測試:直接檢查軟體產品中的缺陷,確保產品符合要求。一般透過單元測試、功能測試、整合測試、壓力測試實現。

3)缺陷追蹤:記錄和追蹤缺陷從發現到解決的整個過程,確保所有的問題都有結論(注意,並非一定都能解決,解決不了的要進行評價)。這是與評審和測試配合使用的一個重要管理過程。

4)審計:對專案的工作過程進行檢查,確保所有活動遵循規程進行。

5)變更控制:在前面的章節中談過,這也是一個重要的質量活動。

6)配置管理:記錄這些中間和最終產品(配置項)變化的歷史,確保他們的正確性和一致性。

質量管理不是一堆文件就可以解決問題的,要想確實作好有三點很重要:一是培訓,要確保員工知道為什麼要這樣做?能解決什麼問題?具體如何做?沒有這種培訓,員工很容易把質量管理理解為填寫各種表格的繁文縟節。二是與客戶交流,筆者發現很多時候因廠商沒有與客戶進行必要的交流,客戶總覺得“什麼事都要填表”是在故意刁難;透過解釋客戶往往非常理解,覺得這正是廠商做事規範的表現,因此會變得很配合。三是慎重選用SQA。SQA在軟體質量管理中責任重大,最好有一定的開發經驗,並願意從事質量管理活動。SQA典型職責如下:

1)根據專案特點對過程進行裁剪,並審定最終的質量標準;
2)幫助專案經理制定計劃並最終審批,過程中對變更進行審批;
3)進行日常的專案審計,確保專案按規程工作;
4)在階段點對專案的基線進行審計,配置管理情況;
5)收集和分析各種度量資料,並向高層報告專案情況;
6)對專案組成員進行培訓。

總之,質量管理主要透過“文件”控制“過程”。質量管理需要一定代價,要平衡與進度和成本的關係。質量保證是確保最終產品質量的一系列活動;質量控制是確保最終產品滿足要求一系列活動。軟體專案中的質量管理的重要角色是SQA。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7839396/viewspace-937792/,如需轉載,請註明出處,否則將追究法律責任。

相關文章