天天看點

項目管理過程之品質管理

     品質是指項目滿足明确或隐含需求的程度。前面讨論過,品質一般通過定義傳遞物标準來明确定義,這些标準包括各種特性及這些特性需要滿足的要求。另外,品質還包含對項目的過程的要求,比如規定執行過程應該遵循的規範和标準,并要求提供過程被有效執行的證據。是以,品質管理主要就是監控項目的傳遞物和執行過程,以確定它們符合相關标準,同時確定不合格項能夠按照正确方法排除。

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

    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。

項目管理過程之品質管理