張昱
(中國科學院空天信息創新研究院 北京市 100190)
過程可視是現代管理思想的重要觀點之一。通過對研發、采購、生產和集成過程的可視化,可以了解進度、質量和成本狀況。基于這些了解,能夠及時發現和解決問題,并且建立達成目標的信心。
軟件研發的過程可視很難有效實行,主要原因如下:
(1)軟件研發主要是人的勞動,凡是涉及人內在的東西(例如:研發人員對需求的理解、對技術的掌握和對管理的認可程度等)都很難獲得準確的了解——即便獲得一些了解,也難以評價其對軟件項目整體的影響程度。
(2)軟件研發過程包含了多次概念轉換,可執行文件和配套文檔是最終產品,需求、設計和代碼是軟件的概念模型,人們看不到也理解不了可執行文件的實際運行情況,只能通過需求、設計和代碼間接地了解。
(3)軟件是人類勞動實踐過程中產生的新事物,沒有相關行業的管理方法可以直接使用。
GJB5000A 過程和產品質量保證過程域(以下簡稱:PPQA 過程域)貫穿軟件研制的整個生命周期,呈現所有過程活動和主要工作產品的質量狀況,管理人員通過這一可視化視角,得以透視軟件研發的“黑匣子”,及時發現和糾正偏差,并預期未來的發展趨勢。
在GJB5000A 標準中,PPQA 過程域的目的是:“使員工和管理者對過程和相關的工作產品能有客觀深入的了解”。為達成目的,要實現兩個專用目標,即:“專用目標1,客觀地評價過程和工作產品”;“專用目標2,提供客觀深入的了解”。
高質量的過程活動是交付高質量工作產品的保障,高質量的中間工作產品是交付高質量最終工作產品的前提。通過形成評價,獲得對過程活動和工作產品的可視化;通過分享評價,促進項目組盡早確認和解決問題,并向利益相關方呈現項目的質量狀況。圖1 表示了PPQA 過程域的專用目標、專用實踐及相關角色的信息交換關系。
在GJB5000A 標準中,還通過PPQA 過程域提出了一些更具體的要求:
引入過程說明、標準和規程是為了規范研發活動和工作產品,過程說明、標準和規程代表了利益相關方和項目管理者對項目工作的預期。質量保證人員客觀地評價項目組是否依據過程說明、標準和規程開展了工作,并將未遵循的事項記錄和呈現出來,促進解決未遵循事項,從而確保項目組的工作始終不偏離預期。
評價過程活動與工作產品必須摒棄主觀意識的干擾,能夠通過主觀意識干擾客觀評價的因素有很多,此處主要指業務能力和功利思想。為了達成客觀的評價,GJB5000A 標準提示要從獨立性和準則入手:質量保證人員的組織獨立性在某種程度上規避了外界人為干擾,評價準則則有助于評價人員和被評價人員之間達成對評價內容、依據和結論的一致理解。此外,質量保證人員具備相當的專業知識,組織具有良好的質量評價氛圍,也是形成客觀評價的保障。

圖1:GJB5000A PPQA 專用目標、專用實踐及相關角色的信息交換關系
質量人員將評價結果文檔化為評價報告和不符合項列表。質量人員應跟蹤這些不符合項,并確保它們得到解決。PPQA 過程域的子實踐中提到,不符合項的解決方式有三種,即:“改正不符合情況;修改不適用的過程說明、標準和規程;獲準不處理不符合項”。對不符合項的爭議由質量保證人員通過獨立的溝通渠道上報到項目組的高層領導,直至得到解決。
質量保證人員和同行評審專家均對工作產品做出評價,兩者的活動有部分重疊。兩者的區別主要在于,質量保證人員側重于檢查評價工作產品的形式,并跟蹤確保包括同行評審問題在內的所有問題得到解決;同行評審專家直接評價工作產品的內容相對于需求的一致性,以及工作產品之間的一致性。
質量保證人員的工作成效體現了組織對過程改進的決心和整體效果。當一個組織的過程活動出現特別明顯的弱項或者工作產品出現較多問題時,如果質量保證人員未能及時反應這些問題,那么說明PPQA 過程域的執行存在評價不充分的問題。許多經驗表明,如果評價不充分,GJB5000A 體系的貫徹實施一般會流于形式。
怎樣才能通過PPQA 過程域的實施取得實效呢?如下幾點建議可供參考。
在項目策劃階段,質量保證人員與項目組共同確定和剪裁適用的標準規范。項目組除了需遵循GJB5000A 標準和組織上要求遵守的其他過程說明、指南、規范以外,可能還會采用軍用軟件研制和業務領域相關的標準規范。在質量管理體系、文檔格式、項目策劃、供方管理和項目驗收等方面,都有適用的國軍標可供采用。選用標準規范不是越多越好,而是恰當選用,使得組織質量目標、用戶質量要求和項目組管理水平協調一致。
GJB5000A 標準要求“對照適用的過程說明、標準和規程”客觀地評價“所指定的已實施過程”和“指定的工作產品和服務”。但是在具體操作中,對過程和產品的評價方式略有不同,概括為:
3.2.1 直接作用于過程,間接作用于產品
質量保證人員直接評價過程活動;通過評價工作產品相對于過程說明、標準和規程的遵循性,同時促進和確保同行評審、軟件測試等驗證活動的有效執行,從而間接地評價工作產品。過程和產品的質量狀況均由質量保證人員記錄和分析,并分享給利益相關方。
3.2.2 定期評價過程,及時評價產品
質量保證人員通常在過程中周期性地評價過程活動;通常在工作產品完成時、交付前、評審前和里程碑節點及時評價工作產品,至少應在交付前和評審前評價工作產品。
3.2.3 全面評價過程,抽樣和增量評價產品
質量保證人員對過程活動的遵循性必須形成全面、客觀、深入的評價;對工作產品可以按照準則抽樣和增量評價。
3.2.4 慎重裁剪過程檢查單,鼓勵裁剪產品檢查單
實施GJB5000A 的組織希望各個項目按照組織定義的過程開展活動,項目組采用的過程活動在組織內部具有較高的一致性,因此可以沿用組織推薦的過程檢查單或借鑒其他項目組使用的過程檢查單。每個項目產生的工作產品與行業要求、業務特點和技術路線密切相關,使用通用檢查單或借鑒其他項目的檢查單往往不能有效評價本項目的工作產品,因此質量保證人員應該依據工作產品的特點對組織級工作產品檢查單進行必要的裁剪,刪掉不適用的檢查項,增加符合產品特點的檢查項,使得評價有效。
涉及PPQA 過程域的軟件工具主要有兩類,一類是不符合項的跟蹤管理工具,一類是質量報告的流轉工具,也有將兩類應用合并起來的工具,其中有些工具是開源或免費的。使用這些工具能夠在不符合項的跟蹤管理和質量記錄的交流溝通上起到事半功倍的效果。
PPQA 過程域的共用實踐2.9 要求“客觀評價過程和產品質量保證過程對其過程說明、標準和規程的遵循性,并處理不符合項”。很多組織據此設置了組織級質量保證人員,以監督和評價項目級質量保證人員的工作。在實際運行中,為使組織級質量保證人員發揮更大的作用,除了安排他們評價項目級質量保證人員的質量保證計劃、質量保證總結報告和質量保證活動外,通常還請他們參與和評價組織級過程改進活動。
組織應該把質量保證人員定位為過程改進的中間力量,要求并幫助他們做好如下幾點工作:
(1)協助項目組開展管理策劃;
(2)在項目執行過程中,隨時提供管理咨詢;
(3)協助項目組分析不符合項產生的原因,共同擬定糾正措施;
(4)協助軟件項目負責人和測量與分析人員分析質量數據;
(5)與項目組分享管理經驗;
(6)在項目組之間橫向對比和分析質量情況;
(7)協助EPG 組收集最佳實踐;
(8)協助組織建立積極、協作和共同擔當的質量文化。
本章提出了針對GJB5000A 二級7 個過程域的過程檢查要點。GJB5000A 二級實施單位可以基于本單位的過程改進方針、過程改進計劃和實施項目特點,以此為參考,擴充和完善成為適用的PPQA 過程活動檢查單。
4.1.1 理解需求
(1)識別需求的提供者。
(2)與需求提供者建立積極有效的溝通。
(3)依據需求接收準則“接受”或“拒絕”需求。
(4)向需求提供者確認對需求的理解,確保達成了共識。
(5)形成文檔化的需求,與需求提供者共同評審需求。
4.1.2 承諾需求
(1)項目組主要成員以參加評審的方式正式承諾需求。
(2)項目組其他成員以參加需求培訓等形式承諾需求。
(3)項目組以實現需求為目標開展策劃和工程活動。
4.1.3 管理需求變更
(1)分析并評估需求變更的影響。
(2)履行需求變更的手續。
(3)相關人員知悉需求的變更內容,并一致性地變更相關工作產品。
4.1.4 與需求保持一致
(1)建立和維護需求跟蹤矩陣。
(2)標識未分析、未設計、未實現和未測試的需求,做出說明或采取措施。
(4)發現、記錄并解決各項工作產品與需求之間的不一致。
4.2.1 開展研制策劃
(1)根據項目特點確定生命周期模型。
(2)基于需求進行工程產品和過程活動的WBS 分解。
(3)初步確定技術途徑,初步識別新研、改造、外購和重用的配置項、構件和模塊。
(4)按照規程估算,至少得到規模、工作量和成本的估算值。
(5)劃分階段和里程碑,標識關鍵路徑。
(6)制定利益相關方跟蹤計劃。
(7)制定評審計劃。
(8)制定數據管理計劃。
(9)制定關鍵資源計劃。
(10)識別技術和技能要求,制定培訓計劃或提出培訓需求。
(11)識別和記錄風險。
(12)編制軟件開發計劃書。
(13)按照估算值和WBS 分解編制研制進度表(甘特圖)。
(14)與相關人員協同開展項目策劃與計劃評審。
4.2.2 開展測量分析策劃
(1)與軟件項目負責人共同確定測量目標與測量項。
(2)確定采集與保存信息的方法。
(3)確定分析測量項的方法。
(4)編制測量與分析計劃。
(5)編制測量與分析活動進度表(甘特圖)。
4.2.3 開展配置管理策劃
(1)識別配置項。
(2)定義基線。
(3)明確三庫(開發庫、受控庫、產品庫)的位置、結構和權限。
(4)明確三審核(功能、物理、配置管理)的責任人和時機。
(5)編制配置管理計劃。
(6)編制配置管理活動進度表(甘特圖)。
4.2.4 開展質量保證策劃
(1)確定評價的依據和準則。
(2)根據需遵循的標準規范選擇或制定過程檢查單。
(3)根據需遵循的標準規范與項目特點選擇、制定和裁剪工作產品檢查單。
(4)策劃過程檢查和產品檢查的內容、時機。
(5)編制質量保證計劃書。
(6)編制過程和產品審核活動進度表(甘特圖)。
4.2.5 承諾項目計劃
(1)項目組成員充分討論并承諾項目計劃。
(2)項目計劃經過審核和評審,由項目負責人批準發布。
(3)項目計劃變更時,項目成員重新做出承諾。
(4)項目計劃變更時,重新進行了審核、評審和發布。
4.3.1 掌握項目情況
(1)項細化近期工作安排。
(2)項每天用5 到10 分鐘填寫日報。
(3)項每周或雙周召開一次項目組內部例會。
(4)項每月向高層匯報項目進展。
(5)項每個里程碑召開一次由高層主持、利益相關方參加的會議。
4.3.2 發現和解決問題
(1)項跟蹤風險變化,實施緩解或規避風險的措施。
(2)項記錄評審中發現的問題。
(3)項在報告、例會和會議中發現問題。
(4)項對照開發計劃和進度表發現偏差,重大偏差轉成問題。
(5)項通過測量分析報告發現問題。
(6)項記錄和分析問題,并采取糾正措施。
(7)項跟蹤問題糾正措施的效果,確保有效解決了問題。
4.4.1 采集與分析測量數據
(1)按計劃采集測量數據,得到真實、完備和完整的測量數據。
(2)組織相關人員共同分析測量數據,形成測量分析報告。
4.4.2 交流與分析測量結果
(1)管理、交流和討論測量分析報告。
(2)向高層與利益相關方匯報測量分析報告。
4.5.1 建立和管理基線
(1)按照配置管理計劃建立配置庫,分配和維護訪問權限。
(2)管理配置項出入配置庫。
(3)建立和發布基線。
4.5.2 保持基線的完整性
(1)記錄基線與配置項的狀態變化,定期通報最新狀態。
(2)定期備份配置庫。
(3)按照配置管理計劃開展配置審核,解決審核中發現的問題。
4.5.3 管理變更
管理配置項和基線的變更。
4.5.4 發布產品
按照相關規程發布產品。
4.6.1 檢查過程活動
(1)在執行中檢查過程活動,記錄不符合項。
(2)參加項目例會和進展會議,記錄問題。
4.6.2 檢查工作產品
(1)增量檢查或評審前檢查工作產品,記錄不符合項。
(2)參加同行評審,記錄問題。
(3)參加走查和測試,記錄問題。
4.6.3 跟蹤解決問題
(1)與項目組交流不符合項。
(2)跟蹤問題和不符合項的處理,直至得到解決。
(3)必要時將不符合項上報高層管理者,直至得到解決。
4.6.4 記錄和分析質量情況,形成質量評價報告
(1)協助采集和分析質量數據。
(2)按計劃編寫質量評價報告。
4.7.1 簽訂并維護供方協議
(1)確定有外包或外協的必要,列出需從供方獲取的產品/
產品部件清單。
(2)按照國家、行業和單位制定的準則選擇供方。
(3)分析供方存在的風險。
(4)按照需方有關規定簽訂雙方認可的供方協議。
(5)供方協議明確了需方的責任和利益。
(6)管理供方協議。
(7)按照準則變更供方協議
4.7.2 執行和滿足供方協議
(1)按照供方協議執行協議事項。
(2)監督供方執行協議事項的主要過程活動。
(3)按照需方有關驗收規程驗收供方提供的產品.
(4)按照移交計劃交接供方提供的產品和配套服務。
(5)評價供方對協議的執行情況。
質量保證工作既要有廣度,也要有深度,更有必要在項目組過程管理能力提高的同時不斷發現問題,指出改進方向,保持評價的有效性。質量保證人員開展檢查和形成評價的根本目的是讓大家守規則,守規則才能產生高質量的工作產品。質量保證人員不僅要做規則的檢查者和守護者,更要積極做規則的建立者和傳播者。