質(zhì)量是指項目滿足明確或隱含需求的程度。前面討論過,質(zhì)量一般通過定義交付物標(biāo)準(zhǔn)來明確定義,這些標(biāo)準(zhǔn)包括各種特性及這些特性需要滿足的要求。另外,質(zhì)量還包含對項目的過程的要求,比如規(guī)定執(zhí)行過程應(yīng)該遵循的規(guī)范和標(biāo)準(zhǔn),并要求提供過程被有效執(zhí)行的證據(jù)。因此,質(zhì)量管理主要就是監(jiān)控項目的交付物和執(zhí)行過程,以確保它們符合相關(guān)標(biāo)準(zhǔn),同時確保不合格項能夠按照正確方法排除。
質(zhì)量管理的實質(zhì)通俗地講就是“把要做的寫下來”,“把寫的做出來”,“把做的過程記下來”,大家可能注意到一點:其中主要說的就是兩個字“做”和“寫”,與我們一般做事方法不同之處在于多了個“寫”的動作,因此用“文檔”管理“過程”成為質(zhì)量管理的一個重要特點。我們舉一個簡單例子說明如何通過各種文檔控制一個過程,一般這需要三種文檔:
1)記錄:記錄活動的過程和結(jié)果,最常見的記錄就是表格。一個過程可能涉及A、B、C和D四個活動,并由不同的人員執(zhí)行。每個人完成各自活動后就記錄處理過程和結(jié)果,并簽字確認(rèn)。因此這個表格留下了所有人相關(guān)人員處理的“痕跡”,一旦出了問題就可以回溯,確定是哪一步出了什么問題。
2)規(guī)程:光有一個表格還不行,還需要一個文件規(guī)定活動的執(zhí)行順序和要求,這樣的文件就是規(guī)程。規(guī)程表示按A-B-C-D順序執(zhí)行,復(fù)雜的規(guī)程還可能包括條件分支,每一步驟的具體操作和要求也應(yīng)該在規(guī)程中描述。
3)狀態(tài):有了記錄和規(guī)程還會發(fā)生問題。比如,記錄丟失了而不知道誰負(fù)責(zé)(甚至根本不知道丟失了)。這是因為不知道記錄的狀態(tài)當(dāng)前在誰手里,處理的結(jié)果如何。因此還需要狀態(tài)文檔。
這確實多了一些“額外”的工作,不光需要員工額外的“文字”工作,還可能增加專職的管理人員,所以質(zhì)量管理需要一定的“代價”。IT企業(yè)中,幾乎所有開發(fā)人員都知道“質(zhì)量”的重要性,但卻不能正確看待質(zhì)量的“代價”。一旦需要他們填寫表格或者嚴(yán)格遵照流程工作時,多數(shù)都會說“太麻煩了”“效率太低了”。的確,如果沒有文檔工作一定程度上可以提高效率、節(jié)約成本,但長期看因管理混亂和質(zhì)量低劣帶來的損失可能遠(yuǎn)遠(yuǎn)大于短期的利益。還有一種常見的錯誤看法是“質(zhì)量就是湊齊文檔”,表現(xiàn)為在進(jìn)度壓力下違規(guī)操作,待完成項目后匆匆補(bǔ)文檔。坦率地說,如果補(bǔ)的是中間文檔(例如部分詳細(xì)設(shè)計)還情有可原,如果補(bǔ)“過程記錄”則實在不甘恭維。例如,筆者就見過在項目完成后補(bǔ)《測試錯誤記錄》的情況,其實這時補(bǔ)這些文檔對測試過程的管理已經(jīng)根本沒有意義,花時間精力僅僅是讓項目看起來規(guī)范一些,可以算是一種“粉飾太平”的行為。個人認(rèn)為,如果你真的認(rèn)為一個過程不需要文檔也可以控制,則可以進(jìn)行適當(dāng)?shù)牟眉?。其實項目并非越?guī)范越好,應(yīng)該根據(jù)具體的質(zhì)量要求平衡質(zhì)量和進(jìn)度、成本三者的關(guān)系。
質(zhì)量管理活動基本包括質(zhì)量保證和質(zhì)量控制兩類。質(zhì)量保證是在項目過程中實施的有計劃、有系統(tǒng)的活動,確保項目滿足相關(guān)的標(biāo)準(zhǔn),典型的例子是評審和審計。質(zhì)量控制指采取適當(dāng)?shù)姆椒ūO(jiān)控項目結(jié)果,確保結(jié)果符合質(zhì)量標(biāo)準(zhǔn),還包括跟蹤缺陷的排除情況,典型的例子就是測試。對于軟件開發(fā)來說,重要的質(zhì)量活動包括:
1)評審:檢查項目中間產(chǎn)品,早期發(fā)現(xiàn)缺陷以減少后期修改和返工的工作量。
2)測試:直接檢查軟件產(chǎn)品中的缺陷,確保產(chǎn)品符合要求。一般通過單元測試、功能測試、集成測試、壓力測試實現(xiàn)。
3)缺陷追蹤:記錄和追蹤缺陷從發(fā)現(xiàn)到解決的整個過程,確保所有的問題都有結(jié)論(注意,并非一定都能解決,解決不了的要進(jìn)行評價)。這是與評審和測試配合使用的一個重要管理過程。
4)審計:對項目的工作過程進(jìn)行檢查,確保所有活動遵循規(guī)程進(jìn)行。
5)變更控制:在前面的章節(jié)中談過,這也是一個重要的質(zhì)量活動。
6)配置管理:記錄這些中間和最終產(chǎn)品(配置項)變化的歷史,確保他們的正確性和一致性。
質(zhì)量管理不是一堆文檔就可以解決問題的,要想確實作好有三點很重要:一是培訓(xùn),要確保員工知道為什么要這樣做?能解決什么問題?具體如何做?沒有這種培訓(xùn),員工很容易把質(zhì)量管理理解為填寫各種表格的繁文縟節(jié)。二是與客戶交流,筆者發(fā)現(xiàn)很多時候因廠商沒有與客戶進(jìn)行必要的交流,客戶總覺得“什么事都要填表”是在故意刁難;通過解釋客戶往往非常理解,覺得這正是廠商做事規(guī)范的表現(xiàn),因此會變得很配合。三是慎重選用SQA。SQA在軟件質(zhì)量管理中責(zé)任重大,最好有一定的開發(fā)經(jīng)驗,并愿意從事質(zhì)量管理活動。SQA典型職責(zé)如下:
1)根據(jù)項目特點對過程進(jìn)行裁剪,并審定最終的質(zhì)量標(biāo)準(zhǔn);
2)幫助項目經(jīng)理制定計劃并最終審批,過程中對變更進(jìn)行審批;
3)進(jìn)行日常的項目審計,確保項目按規(guī)程工作;
4)在階段點對項目的基線進(jìn)行審計,配置管理情況;
5)收集和分析各種度量數(shù)據(jù),并向高層報告項目情況;
6)對項目組成員進(jìn)行培訓(xùn)。
總之,質(zhì)量管理主要通過“文檔”控制“過程”。質(zhì)量管理需要一定代價,要平衡與進(jìn)度和成本的關(guān)系。質(zhì)量保證是確保最終產(chǎn)品質(zhì)量的一系列活動;質(zhì)量控制是確保最終產(chǎn)品滿足要求一系列活動。軟件項目中的質(zhì)量管理的重要角色是SQA。
【?發(fā)表評論?0條?】