摘 要:CMMI是評價企業(yè)在開發(fā)流程化和質(zhì)量管理上的國際通行標準,通過不斷的過程改進,達到對產(chǎn)品質(zhì)量和開發(fā)過程控制的目的。本文通過對CMMI的研究,結合機載軟件特點,依據(jù)CMMI理論和過程改進規(guī)律,形成了可操作的實施框架,詳細論述了基于CMMI軟件過程改進的實施策略。
關鍵詞:軟件能力成熟度模型集成;軟件過程改進
中圖分類號:TP311.5
軟件開發(fā)企業(yè)為了滿足用戶高質(zhì)量的產(chǎn)品需求,必須建立起一個穩(wěn)定、可控、可重用的軟件過程。集成能力成熟度模型(Capability Maturity Model Integration,CMMI)正是指導企業(yè)實施過程管理的一種漸進式的方法及模型。隨著CMMI越來越廣泛地應用于現(xiàn)代組織的過程改進和評估中,越來越多的企業(yè)開始通過實施CMMI來規(guī)范企業(yè)管理體系。
1 CMMI概述和航空企業(yè)的應用
CMMI是由美國國防部與卡內(nèi)基-梅隆大學和美國國防工業(yè)協(xié)會共同發(fā)展研制的,其目的就是幫助軟件企業(yè)對軟件工程過程進行管理和改進,增強開發(fā)與改進能力,從而能按時的、不超過預算地開發(fā)出高質(zhì)量的軟件。CMMI將企業(yè)的軟件過程能力分為五個等級,如下圖1所示。
隨著機載軟件在航空系統(tǒng)中所占比重的不斷增加,其規(guī)模和復雜度也日漸提高,軟件質(zhì)量的好壞直接影響著航空系統(tǒng)的效能。目前,機載軟件的質(zhì)量與可靠性問題已成為國內(nèi)外航空系統(tǒng)研制的主要瓶頸之一。為了有效提高機載軟件的開發(fā)能力,保證機載軟件的質(zhì)量,很多航空企業(yè)紛紛在機載軟件開發(fā)中引入CMMI。國外相關航空企業(yè),如波音、空中客車、洛克希德·馬丁航空等公司率先實施和通過CMMI認證。特別是波音公司,不但自身通過了高成熟度的認證,而且要求其軟件供應商至少應通過CMMI 3級認證。國內(nèi)軍用航空領域,近年紛紛實施GJB5000A(對應CMMI)以提高航空軟件的質(zhì)量與可靠性,如615所、631所等,不僅從機制上確保軟件的質(zhì)量,更是促進技術能力和管理能力得到全面提高。
2 基于CMMI的軟件過程改進
對軟件行業(yè)來說,過程改進的核心理念就是軟件的生產(chǎn)和管理應當遵照一個有序并漸進的過程進行,項目的滿意度期望是軟件有序管理的自然產(chǎn)出。CMMI的提出是軟件過程管理與改進的里程碑,CMMI通過5個不斷進化的級別來評定軟件生產(chǎn)的歷史與現(xiàn)狀,它通過定義每個階段的不同特征,為軟件過程從不成熟到成熟、不完善到完善勾畫了一個階段圖,從而清晰的甄別出不同軟件企業(yè),不同軟件過程的成熟能力,CMMI為軟件企業(yè)的過程改進帶來了深遠的影響。
3 CMMI軟件過程改進的實施策略
機載軟件因其特殊的應用領域,不僅需要一般軟件工程方法、軟件質(zhì)量控制等手段的保障,更在安全性和可靠性方面有著嚴格的要求,這就使得機載軟件開發(fā)的具有一定的獨特性。為了滿足一定的針對性,首先要結合自身特點,如:組織結構、工作范圍、公司狀況來明確當前需要改進的地方。選擇合適的方法,從人力、物力上保證,對CMMI模型進行合理的裁剪,避免周期過長,程度不夠深入,無法實施。
3.1 制定過程改進計劃
CMMI 3級涵蓋18個關鍵過程域,58個目標,352個關鍵實踐。
首先要明確過程改進的目的與期望如下:(1)建立一套適合軟件研發(fā)的管理體系,提升項目管理水平,提高產(chǎn)品質(zhì)量,控制項目進度;(2)具備持續(xù)軟件過程改進的能力;(3)有效的項目管理能力;(4)高素質(zhì)的團隊協(xié)作能力;(5)通過CMMI 3級資質(zhì)認證。
結合CMMI L3進行差距分析,了解公司過程體系的實施狀況,實地進行現(xiàn)場診斷,組織協(xié)調(diào)相關人員參與診斷調(diào)查,完成差距分析報告,明確過程改進的現(xiàn)狀和特點。根據(jù)差距分析報告,掌握公司整體項目的運行情況,明確CMMI3級項目范圍、建立過程改進組織、細化工作計劃、選擇試點和評估項目。
3.2 建立過程改進組織
成立管理委員會(MSG-Management Steering Group)和過程改進團隊(EPG-Engineering Process Group),角色職責見表1。MSG一般由相關部門的領導組成。EPG是企業(yè)內(nèi)項目標準過程制定的組織者,一般由質(zhì)量組負責人、軟件組負責人和測試組負責人及相關職能組負責人組成。EPG組織開發(fā)人員成立各種任務小組,由這些任務小組根據(jù)CMMI模型要求并結合自身特點編寫各種各樣的企業(yè)標準與規(guī)范,經(jīng)過一系列的評審、培訓,然后讓項目組去執(zhí)行標準過程。
軟件過程管理體系的建設、執(zhí)行及持續(xù)改進涉及到的角色和職責如下:
3.3 建立CMMI過程改進與管理體系
結合實際項目特征,通過對CMMI標準的培訓后,研究CMMI模型要求,指導CMMI各個過程域如何落地形成規(guī)范體系。
對CMMI的標準過程進行分解,按照組織過程、管理過程、工程過程、支撐過程幾部分進行歸類,如下圖2。識別公共流程,統(tǒng)一定義,分別調(diào)用,實現(xiàn)部分流程定義的組件化。
制定標準過程體系按照總則文件、過程域流程文件、工作指南/模板/檢查單三層來定義。所有的文檔產(chǎn)品均采用一致的基本模板和風格,來保證體系的統(tǒng)一性。
對體系文檔進行評審和一致性檢查。組織評審對體系把關,完成幾輪的反饋修改后,發(fā)布。
3.4 對過程改進與管理體系進行試點和推廣
選擇公司主營業(yè)務的一部分具有代表性并且覆蓋CMMI 3級的全部過程域的幾個項目。將制定好的體系,特別是流程、模板、檢查單實際應用到項目中,從項目實施過程中去發(fā)現(xiàn)不符合項,并且通過過程改進建議收集模板進行階段性匯總。
試點過程中要加強對項目組所有成員關于CMMI的培訓,還需要定期開展內(nèi)部評估的工作,由咨詢師帶領EPG成員、試點項目經(jīng)理及QA人員一起對選取的試點項目進行預評估,查找不合格項,評估后出具評估報告,并與企業(yè)高層進行溝通,明確下一步工作要點,包括制定新一輪過程改進計劃,修改和完善組織的標準過程集,充實組織過程資產(chǎn)庫,加強實施的力度,利用項目和組織度量數(shù)據(jù)分析過程改進的成果。對評估中發(fā)現(xiàn)的不符合項的修改進行再次評審,采取抽樣的方式進行檢查。
3.5 體系的預評估和正式評估
在內(nèi)部評估認為達到相應的成熟級別后,就可以開展CMMI的認證工作了。為確保過程改進工作的順利推進和實施,加強標準規(guī)范執(zhí)行情況的監(jiān)督和評價,需定期對實施效果進行評審與檢查,以最終通過SEI頒發(fā)的三級資質(zhì)認證。所以要開展預評估、正式評估等一系列活動,對不合格問題及時關閉。
(1)預評估:整個團隊在咨詢師的帶領下,對所有角色進行多次訪談,并且一遍遍梳理項目文檔和組織文檔。評估后出具預評估報告;(2)正式評估:由SEI主任評估師組織的CMMI三級評估后出具評估報告。如果通過會在SEI的官方網(wǎng)站上公布信息,并頒發(fā)證書。
3.6 持續(xù)的過程改進
當體系在公司內(nèi)部推廣并通過認證后,并不代表過程改進工作結束,只是表明企業(yè)目前已取得了階段性成果,還需要不斷深化,總結經(jīng)驗。要將過程改進工作持續(xù)推進,還要做好以下工作:一是持續(xù)完善更新資產(chǎn)庫,制訂持續(xù)改善計劃和方案;二是對過程管理體系規(guī)范進行定期修訂,確保對項目有較強的適應性;三是用工具完成對開發(fā)流程的支撐;最后要大力推進質(zhì)量文化建設,使過程改進工作落到實處。
4 結束語
目前,我國機載軟件開發(fā)能力和軟件工程化管理程度與世界先進水平相距甚遠。而成熟的軟件開發(fā)能力和管理能力對于研制可靠的、高質(zhì)量的機載軟件意義重大。因此,建立良好的軟件工程文化和管理制度勢在必行。采用CMMI 3級要求來改進的軟件研制過程,完善組織質(zhì)量和管理體系,能夠達到提高軟件研制過程管理水平和保障產(chǎn)品質(zhì)量的目標。更為重要的是,通過CMMI 3級認證,能夠顯著提高自研機載軟件的市場競爭力。
參考文獻:
[1]CapabilityMaturity Model Integration for Development(CMMI-DEV V1.3),CMU/SEI,2010.
[2]楊一平.軟件能力成熟度模型CMM 方法及其應用[M].北京:人民郵電出版社,2001.
[3]田秀彥.基于CMMI模型進行過程改進[J].科技信息,2008(14):32-33.
[4]杜宇迪.ISO 9001與CMMI融合實施的可行性研究[J].電子產(chǎn)品可靠性與環(huán)境試驗,2012(02):52-56
作者簡介:方媛(1983-),女,碩士研究生,工程師,研究方向:機載軟件開發(fā)、軟件工程。
作者單位:中國商用飛機有限責任公司上海飛機設計研究院,上海 201210