張在宏
(中船重工集團第七二三研究所,江蘇揚州 225001)
當前,軟件研制能力成熟度認證工作在國內軍工企業(yè)中如火如荼地開展,已有多家單位通過了GJB5000A成熟度二級(以下簡稱二級)認證,其中部分單位甚至通過了 GJB5000A成熟度三級(以下簡稱“三級”)認證,正向著更高的等級邁進。
但調查發(fā)現(xiàn),在二級試點運行過程中,許多單位因為培訓不到位,帶來了很多問題:各個項目組對標準、過程體系的理解五花八門,導致執(zhí)行的流程南轅北轍;即使制定了文檔模板,項目組編制的軟件文檔也是“你說東,我說西”,條目類似,內容相去甚遠;組織熱衷于管理過程的宣貫以便獲得認證,對具體的軟件工程技術不太關心,導致項目組的開發(fā)水平提高不大,對過程改進失去興趣,反過來阻礙成熟度提升。
為什么會有這樣的問題呢?據(jù)分析,由于組織培訓是成熟度三級的過程域,因此,許多單位在實施成熟度二級的過程改進時,不重視培訓,既沒有在制度上予以保證,也沒有采取有效實踐,導致上述問題發(fā)生。
GJB5000A各個過程域均由專用目標、專用實踐組成,通過專用實踐的實施以滿足專用目標要求。此外,在成熟度二級和三級還各有1個共用目標,由各個過程域的共用實踐達到[1]。
GJB5000A二級共有7個過程域,其專用實踐均未涉及培訓的要求。
GJB5000A二級的共用目標“過程制度化”通過10個共用實踐來實現(xiàn)。其中,共用實踐2.5“培訓人員”的目的是確保過程實施相關人員具有必要的技能和專門知識,以實施或支持該過程。這一實踐要求分散在各個過程域中,如果按照過程域來組織培訓人員的實踐活動,必然會造成上述所介紹的亂象。
分析一下GJB5000A成熟度二級的10個共用實踐,可以發(fā)現(xiàn),大多數(shù)由對應的過程域來執(zhí)行共用目標共用實踐(表1),如“GP2.2策劃此過程”依賴于“項目策劃”過程域來實施。CMMI也支持這樣的觀點:如果某一共用實踐依賴于某個過程域來執(zhí)行這一通用實踐,或提供一個必備的工作產品,而當這個過程域未實施時,該共用實踐的有效性可能會大大降低。GJB5000A是等價采用 CMMI1.2,組織培訓過程域支持 GP2.5的實現(xiàn),可通過培訓策略或組織全面的培訓需求,給將執(zhí)行或支持過程的人員,以應用到所有過程域。也就是說,二級的共用實踐GP2.5實際上需要通過三級的過程域“組織培訓”來實現(xiàn)(表2),這樣就存在一個矛盾:二級的實踐必須通過三級的過程域來保證。
表1 成熟度二級共用實踐與過程域的對應關系
表2 組織培訓過程域構成[1]
需要說明的是,軟件工程技能與知識是指項目或過程所需的方法、設備、工具、材料、數(shù)據(jù)及過程的使用能力。組織技能是指依據(jù)員工的組織結構、角色與責任,以及一般性運作原則與方法有關的行為。人際關系技能是指項目及支持團隊在組織及社會關系中,成功執(zhí)行所需的自我管理、溝通及人際關系的能力。
項目級培訓管理的對象是項目專有的培訓課程,這些培訓課程是針對項目特定的培訓需求而開設的,它們沒有被包括在機構培訓管理范圍之內。例如項目特定的開發(fā)技術和產品使用等培訓。上述培訓由項目經理或者開發(fā)組長來管理。在GJB5000A三級中,闡明了組織培訓的目的、目標和專用實踐。組織培訓包括兩方面的培訓:支持組織戰(zhàn)略經營目標的培訓;滿足項目與支持組共同需要的戰(zhàn)術培訓。個別項目與支持組所標識的特定培訓需要,在項目和支持組層面處理,不在組織培訓范圍之內。項目和支持組負責標識和處理他們自己的特定培訓需要。
GJB5000A是軍用軟件研制范圍內用于衡量軟件過程能力的標準,它通過“過程域和實踐”對軟件過程能力提出了要求,從研制過程的戰(zhàn)略層面到戰(zhàn)術層面都明確了標準,二級、三級的要求分布于18個過程域,有76個目標(40個專用目標、36個共用目標),352個實踐(136個專用實踐、216個共用實踐),它把項目管理過程、工程過程、支持過程和組織過程全部分解成一個一個動作要求。但是,科研生產過程實際上是一系列連貫動作的組合,有并行有交叉,所以不能把GJB5000A直接作為企業(yè)的過程規(guī)范,這是制定體系文件時要考慮的難點問題。
因此,在進行軟件過程體系架構設計時,必須結合GJB5000A標準的要求,對各過程域進行剖析,進行必要的合并與整合,不拘泥于成熟度二級和三級的劃分,并結合企業(yè)的實際進行本地化和簡化,形成符合實際的體系架構。為了保證二級共用目標的實現(xiàn),將各過程域的GP2.5和三級的組織培訓過程域合并成培訓過程就是一個比較好的選擇,解決了“二級的共用實踐 GP2.5需要通過三級的過程域(組織培訓)來實現(xiàn)”這一矛盾。
組織培訓的加入,是因為它是一個簡單易行而且非常有效的統(tǒng)一思想和提高技能的方法,也是強化組織質量意識和管理意識的途徑。
當前,開展軟件過程改進的單位中,大多數(shù)已建立符合GJB9001B要求的質量保證體系,在GJB9001B體系要求的6.2節(jié),明確提出了對人力資源的培訓要求。因此,滿足GJB9001B要求的組織中,必然建立了符合其要求的培訓體系。
表3 GJB5000A與GJB9001B培訓要求對照表
如表3所示,比較GJB9001B的與GJB5000A關于培訓的要求,可以看出,兩個標準的目的基本相同,但GJB5000A給出了達成這一目的的各個步驟,更加具體、深入。
在 GJB9001B所要求培訓的基礎上,結合GJB5000A的組織培訓要求,設計組織的培訓過程,可以在組織培訓這一過程域做到兩個體系的融合。同時,借力于GJB9001B的培訓體系,在推行新的培訓過程時,可以使過渡過程順暢、省時省事。
GJB50000A的“組織培訓”過程域,共有7個專用實踐,結合GJB9001B的要求,設計了新的培訓過程,其結構如表4所示。
表4 GJB5000A二級時“組織培訓”過程構成
2.2.1 組織級培訓
在“組織培訓”過程中,規(guī)定了組織培訓的流程:
1)識別需求。包括識別組織的戰(zhàn)略培訓需求、識別需要組織實施的公共培訓需求;對不同的角色,其知識、技能要求是不同的,在識別培訓需求時要加以重視。
2)制定培訓計劃。將識別出的戰(zhàn)略培訓需求納入組織級的中長期培訓規(guī)劃中,將部門、項目組提出的需求中的公共培訓需求納入年度培訓計劃中;計劃中應對參加人員、免修人員、授課人員資質水平、使用的教材、培訓形式、時間、資源,以及培訓效果評價準則等作出規(guī)定。
3)實施培訓計劃。由人力資源部門按照計劃實施組織培訓。
4)評價培訓效果。依據(jù)計劃對培訓實施情況作出記錄,對培訓的效果進行評價,必要時補充培訓。
2.2.2 項目級培訓
GJB5000A三級“組織培訓”過程域未對項目級培訓提出明確的要求,但在二級、三級成熟度認證過程中,項目級培訓不足是項目工程活動、支持活動效果不好的原因所在,甚至影響到管理活動。因此,在“組織培訓過程”之外,還應規(guī)定項目級培訓過程。
項目負責人通過評價項目組內部成員的知識、能力與實際工作要求的差距,提出項目級培訓需求。項目級培訓需求包括:關于項目應用領域的培訓,項目執(zhí)行過程中需要遵守的標準、規(guī)程說明,項目組使用的工具和方法的培訓。
項目級培訓流程與組織級培訓類似,但培訓形式可以更加靈活,如:請有類似項目開發(fā)經驗的人員進行課堂培訓、請相關公司進行使用工具培訓(如軟件配置管理工具培訓、軟件測試工具培訓、建模工具培訓)、學術討論或講座、視頻教學、自學、一對一的師徒傳授等。
項目級培訓是組織級培訓的有效補充,兩種培訓一起,使承擔項目的人員具備相應知識和技能,滿足組織長期目標和近期項目開發(fā)的要求。
在單位的成熟度二級實施過程中,按照構建的組織培訓過程要求,每季度收集培訓需求,實施的組織級培訓包括:
1)對軟件過程改進體系的培訓;
2)對SQA、CM、MA人員進行分角色的培訓,包括相關標準、技術、工具使用方面的專題培訓;
3)對軟件開發(fā)人員進行系統(tǒng)分析技術、軟件需求分析技術、軟件設計技術、編碼標準、測試技術的專題培訓;
4)對項目組負責人進行項目管理專題培訓。
項目級培訓有:所屬系統(tǒng)背景知識培訓、領域知識培訓包括XX數(shù)據(jù)庫標準、XX顯控標準、XX定位算法等,均采用單位內部專家課堂授課加一對一交流的形式。
通過組織培訓過程的實施,參加試運行的項目從過程符合性、工程開發(fā)兩個方面都取得了很好的效果:參與人員從過程改進中獲得了看得見的效果,既提高了軟件工程技能,又掌握了工程管理知識,因此參與過程改進的積極性很高,形成了良性互動。
從以上情況可以看出,實施GJB5000A二級認證時,組織培訓也是非常重要的方面,必須加以考慮。組織培訓雖然是三級必須滿足的過程域,但它對二級成熟度的達成具有至關重要的作用,在二級過程改進活動中必須加以考慮。實施組織培訓過程,對二級成熟度的達成能起到很好的保證、支持作用。
GJB5000A標準中按5個成熟度的級別給出了所需的過程域,但這并不意味著成熟度級別低的軟件管理體系不需要其他過程域所規(guī)定的活動,而只是表示那些過程域的活動可以不按標準的要求執(zhí)行。組織不應以過級為目的,僵化的按成熟度等級來實施過程改進,而應以實實在在的提升單位的軟件工程化水平為目的。本文僅就組織培訓過程域在二級的實施方法和實施效果做了介紹,實際上,如三級的“需求開發(fā)”、“風險管理”在軟件開發(fā)的整個過程中無處不在,因此,在制定成熟度二級的過程改進體系時,也應該加以考慮。
[1]GJB5000A-2008, 軍用軟件研制能力成熟度模型[S].