涂步華 梁宏 張恕明 童衛(wèi)旗
(中國科學(xué)院上海技術(shù)物理研究所 上海市 200083)
近年來,軟件產(chǎn)品在航天軍工項(xiàng)目的作用越來越大、關(guān)鍵性越來越高,特別是現(xiàn)場可編程邏輯門陣列(FPGA)納入航天軟件管理范疇后,軟件配置項(xiàng)體量也越來越大,這對軟件研制過程規(guī)范性和軟件產(chǎn)品質(zhì)量都提出了更高的要求。
通過GJB5000A 軟件體系的建設(shè)和運(yùn)行,可以規(guī)范軟件研制過程,提高軟件研發(fā)效率和軟件質(zhì)量[1]。為進(jìn)一步提高軍用軟件工程專業(yè)能力、規(guī)范軟件研制過程,基于GJB5000A 模型,開展與GJB9001C 和軟件工程化融合的軟件管理要求本地化實(shí)踐,是軟件體系在組織內(nèi)有效實(shí)施、推廣和取得能力提升的關(guān)鍵。
CMMI(Capability Maturity Model Integration)即能力成熟度模型集成;1984年美國國防部資助卡內(nèi)基-梅隆大學(xué)軟件工程研究所(CMU/SEI)開始研制,1987年SEI 建立了第一個(gè)CMM,1993年SEI 推出CMM v1.1;2000年SEI 在整合SW-CMM、SECM 和IPD-CMM 的基礎(chǔ)上推出了CMMI v1.0,2006年SEI 推出CMMIDEV v1.2(for Development),2010年SEI 推出CMMI v1.3[2]。
為了加強(qiáng)軍用軟件產(chǎn)品的研制質(zhì)量,通過引進(jìn)國外先進(jìn)的管理經(jīng)驗(yàn),等同采用CMMI 制定軍用軟件能力成熟度模型即GJB5000,用以評價(jià)軟件研制單位是否具有相應(yīng)的軟件研制能力。2003年原總裝備部正式頒布了GJB5000《軍用軟件能力成熟度模型》,2008年頒布了GJB5000A,已成為中國裝備軟件建設(shè)和發(fā)展的重要標(biāo)準(zhǔn)。
GJB5000A 描述的軍用軟件研制能力成熟度模型采用分級表示法,按預(yù)先確定的過程域集來定義組織的改進(jìn)路徑并用成熟度等級進(jìn)行表示[3];標(biāo)準(zhǔn)將軟件研制能力成熟度分為五個(gè)等級,其中1級(或ML1)稱為初始級,2 級(或ML2)稱為已管理級,3 級(或ML3)稱為已定義級,4 級(或ML4)稱為已定量管理級,5 級(或ML5)稱為優(yōu)化級,如圖1 所示。
軍用軟件研制能力成熟度模型鼓勵(lì)關(guān)注所屬成熟度等級中的過程域[4],各成熟度等級所屬的過程域詳見表1。
圖1:軍用軟件研制能力成熟度等級
圖2:SWOT 分析圖
圖3:IDEAL 模型策劃示意圖
表1:軍用軟件研制能力成熟度模型中的過程域
圖4:二級軟件過程改進(jìn)計(jì)劃路線圖
為滿足軍用軟件工程化、軟件質(zhì)量管理、軟件產(chǎn)品保證等要求,軍用軟件研制單位組織實(shí)施GJB5000A 體系建設(shè)勢在必行。為適應(yīng)軍用軟件研制資質(zhì)的單位發(fā)展需求,切實(shí)提高單位軟件研制的專業(yè)化水平和工程化管理能力,組織推進(jìn)GJB5000A 二級體系建設(shè),既是軍用軟件研制單位的基本要求,也是建立并持續(xù)提升軟件研制過程管理體系的第一步。
通過SWOT 方法[5]分析組織軟件研制的優(yōu)勢、劣勢、機(jī)會(huì)和威脅,更清晰的了解本組織主體軟件產(chǎn)品的特點(diǎn)和現(xiàn)狀,如圖2 所示。在此基礎(chǔ)上做實(shí)做細(xì)頂層策劃,打好二級體系建設(shè)基礎(chǔ),確保體系建設(shè)計(jì)劃合理可行。
3.1.1 制定改進(jìn)計(jì)劃和路線圖
圖5:軟件二級體系文件結(jié)構(gòu)
圖6:軟件研制過程管理體系示意圖
針對光電載荷產(chǎn)品特點(diǎn)和組織現(xiàn)狀,按IDEAL 模型[6]思想進(jìn)行二級軟件過程改進(jìn)策劃,細(xì)化5 個(gè)階段工作和5 個(gè)工作里程碑,如圖3 所示(★為工作里程碑);根據(jù)IDEAL 策劃結(jié)果,制定二級軟件過程改進(jìn)計(jì)劃和路線圖,如圖4 所示。
3.1.2 加強(qiáng)組織和支持保障
為保證二級體系建設(shè)順利推進(jìn),成立了MSG 組(管理指導(dǎo)組)和EPG組(工程過程組),組長分別由法人代表和分管高層領(lǐng)導(dǎo)擔(dān)任,提供組織和支持保障。
(1)強(qiáng)力機(jī)關(guān)職能管理部門(如質(zhì)量管理處)牽頭組織協(xié)調(diào)體系建設(shè),新增招聘專業(yè)專職QA人員,負(fù)責(zé)過程質(zhì)量保證過程(PPQA)和體系推進(jìn)。
(2)新成立專業(yè)部門軟件支撐中心,負(fù)責(zé)體系實(shí)施、維護(hù)和配置管理(CM)、測量與分析(MA)。
(3)選用軟件過程管理平臺工具,建設(shè)物理隔離的工作內(nèi)網(wǎng)(局域網(wǎng))。
3.1.3 體系文件策劃和編制
按GJB5000A 二級要求策劃體系文件,先后通過策劃體系文件清單、人員職責(zé)分工,文件編寫、小組討論、EPG 審查、專家評審和外部送審等活動(dòng),建立了通用要求、程序文件和操作層文件的軟件過程改進(jìn)(GJB5000A)二級體系文件結(jié)構(gòu),如圖5 所示。
為推進(jìn)軟件二級體系實(shí)施試點(diǎn),按節(jié)點(diǎn)組織體系文件執(zhí)行情況的過程監(jiān)督檢查,確保措施有效。
3.2.1 按改進(jìn)計(jì)劃組織實(shí)施體系試點(diǎn)
按照試點(diǎn)軟件項(xiàng)目需要覆蓋生存周期模型全過程、研制領(lǐng)域和過程域的“三覆蓋”要求,選擇、部署合適的4-6 個(gè)軟件配置項(xiàng),按改進(jìn)計(jì)劃推進(jìn)實(shí)施試點(diǎn)。
3.2.2 按節(jié)點(diǎn)組織體系試點(diǎn)情況檢查
按計(jì)劃節(jié)點(diǎn),EPG 組織定期、事件觸發(fā)等多次體系實(shí)施試點(diǎn)情況檢查,根據(jù)需要邀請外部專家指導(dǎo)檢查。
3.2.3 對待改進(jìn)項(xiàng)采取有效糾正措施
對檢查中發(fā)現(xiàn)的待改進(jìn)項(xiàng),召開EPG 會(huì)議,找準(zhǔn)差距定位、查清不足原因,針對性的制訂整改糾正措施。
通過待改進(jìn)項(xiàng)的整改落實(shí)到位,推進(jìn)體系順利運(yùn)行,從而滿足評價(jià)要求。
3.3.1 整改落實(shí)到位
體系建設(shè)推進(jìn)小組通過高層的資源保障、中層的大力支持、一線的積極實(shí)施,保證了軟件二級體系的順利運(yùn)行,以雙周簡報(bào)的方式及時(shí)通報(bào)體系運(yùn)行和整改情況,使得各項(xiàng)整改糾正措施及時(shí)落實(shí)到位。
3.3.2 內(nèi)部評價(jià)
邀請外部專家指導(dǎo),采用審查證據(jù)和訪談相結(jié)合的形式(模擬現(xiàn)場評價(jià)),檢查二級體系的運(yùn)行情況,發(fā)現(xiàn)體系運(yùn)行過程中的弱項(xiàng)和待改進(jìn)項(xiàng),明確軟件過程的改進(jìn)方向,并加深對GJB5000A 標(biāo)準(zhǔn)和體系文件的理解。
3.3.3 就緒調(diào)查
外部評價(jià)組依據(jù)GJB5000A 二級評價(jià)方法,采用審查證據(jù)和訪談相結(jié)合的形式,調(diào)查二級實(shí)踐的實(shí)現(xiàn)程度,找出與軍用軟件研制能力成熟度等級2 級要求之間的差距。
圖7:型號全過程軟件生存周期模型示意圖
3.3.4 正式評價(jià)
由認(rèn)證中心組織的軍用軟件研制能力二級現(xiàn)場評價(jià)組,通過項(xiàng)目證據(jù)檢查、人員訪談等方式對試點(diǎn)項(xiàng)目進(jìn)行評價(jià),給出“GJB5000A-2008 二級過程域滿足目標(biāo)要求”的結(jié)論;同時(shí)建議“應(yīng)結(jié)合型號要求和特點(diǎn),對體系進(jìn)一步本地化,關(guān)注工作延續(xù)性和可操作性”。
業(yè)界很多單位通過GJB5000A 二級體系認(rèn)證后,在推廣過程中存在類似的實(shí)施難點(diǎn),在很大程度上制約了GJB5000A 體系的全面推廣。突出表現(xiàn)在以下幾方面:
(1)項(xiàng)目管理和支持管理成本增加,軟件工作產(chǎn)品質(zhì)量改善有限。因二級過程域以項(xiàng)目管理和支持管理過程域?yàn)橹鳎こ坦芾磉^程域只有“需求管理”,隨著管理成本的持續(xù)增加[7],生產(chǎn)效率短期內(nèi)不升反降,軟件工作產(chǎn)品質(zhì)量改善不明顯,削弱了項(xiàng)目組和組織對體系推廣的積極性和信心。
(2)航天軍工產(chǎn)品以硬件研制為主,慣性思維管理意識轉(zhuǎn)變困難。航天軍工產(chǎn)品研制單位大多以硬件研制管理模式為主導(dǎo),軟件以嵌入式軟件為主,軟件產(chǎn)品大多作為硬件產(chǎn)品的附屬存在,軟件產(chǎn)品概念意識普遍不強(qiáng)。硬件產(chǎn)品研制的傳統(tǒng)慣性思維,增加了軟件產(chǎn)品管理意識轉(zhuǎn)變的困難;二級體系通過后未能在項(xiàng)目層面產(chǎn)生積極效應(yīng),實(shí)施成果未能得到項(xiàng)目層面的認(rèn)同和應(yīng)用,加大了體系推廣的難度。
(3)軟件體系文件照搬標(biāo)準(zhǔn)同質(zhì)化,未能與研制實(shí)際本地化結(jié)合。二級體系文件照搬標(biāo)準(zhǔn),或者直接借鑒其它單位好的體系文體,與研制實(shí)際情況缺少本地化結(jié)合,推廣時(shí)不能被項(xiàng)目層面認(rèn)可和應(yīng)用。同時(shí)不少單位存在GJB5000A 和GJB9001 二套不同的質(zhì)量管理體系文件,與軟件工程化要求和軟件產(chǎn)品保證大綱要求還存在差異性,更進(jìn)一步加大了項(xiàng)目層面體系推廣的阻力。
針對軟件體系推進(jìn)過程中的難點(diǎn),結(jié)合光電載荷產(chǎn)品特點(diǎn)和組織現(xiàn)狀,從策劃多體系融合的本地化體系文件、推進(jìn)軟件專業(yè)化能力建設(shè)和開展體系推廣實(shí)施等方面探索實(shí)踐。
4.2.1 策劃多體系融合的本地化體系文件
(1)將軟件工程化、GJB9001C 等要求映射到GJB5000A 三級標(biāo)準(zhǔn)條款,在組織內(nèi)建立統(tǒng)一的“以GJB5000A 三級為基礎(chǔ)、覆蓋軟件工程化和GJB9001C 要求”的多體系融合的本地化體系文件,如圖6 所示。制定管理過程和工作產(chǎn)品裁剪指南,可區(qū)分重點(diǎn)型號、一般、地面、民用、預(yù)研等。
(2)在常規(guī)的瀑布、迭代、原型開發(fā)、混合模式等軟件生存周期模型基礎(chǔ)上,針對開發(fā)周期覆蓋研制全過程(包括初樣和正樣等研制階段)的軟件,結(jié)合實(shí)際制定覆蓋型號全過程的軟件生存周期模型,如圖7 所示。
(3)按本地化體系文件要求,組織策劃軟件研制過程管理程序、規(guī)范文件和操作層文件等體系文件結(jié)構(gòu)(如圖8 所示),作為組織內(nèi)部統(tǒng)一、唯一的多體系融合的軟件體系管理要求,在全組織范圍內(nèi)實(shí)施、推廣。
根據(jù)組織的實(shí)際情況設(shè)計(jì)各過程的適用性表單,有效推動(dòng)GJB5000A 的本地化運(yùn)行,示例如表2 所示。
4.2.2 推進(jìn)軟件專業(yè)化能力建設(shè)
表2:本地化表單示例
圖8:軟件研制過程管理體系文件結(jié)構(gòu)
目前光電載荷產(chǎn)品品種多,軟件大多為中小規(guī)模、分布廣的嵌入式軟件,存在型號項(xiàng)目軟件研制力量分散、專業(yè)力量不足的問題,軟件專業(yè)化發(fā)展受到制約。建議在組織架構(gòu)層面設(shè)置軟件專業(yè)研制部門,以軟件測試為牽引,并提供各類載荷共用模塊開發(fā)及軟件技術(shù)研發(fā),由軟件專業(yè)研制部門負(fù)責(zé)軟件體系日常推進(jìn)及維護(hù)和軟件工程化工作(包括PI、RD、ReqM、TS、Val、Ver 等工程過程域,CM、QA、MA 等支持過程域等)。
通過組織級軟件專業(yè)化能力建設(shè),不僅可以提高軟件研發(fā)效率、節(jié)約成本,還有利于提升軟件產(chǎn)品的成熟度,不斷提高軟件產(chǎn)品質(zhì)量。實(shí)施統(tǒng)一的軟件專業(yè)研制,既可提高軟件研制過程的符合性,又能使軟件從業(yè)人員更好地體現(xiàn)自我價(jià)值,有利于軟件研制隊(duì)伍的可持續(xù)穩(wěn)定發(fā)展。
4.2.3 開展軟件研制過程管理體系實(shí)施
按三級體系運(yùn)行“五覆蓋”(覆蓋軟件應(yīng)用領(lǐng)域、三級過程域、生存周期模型、研制部門和重點(diǎn)型號軟件)的要求,在組織內(nèi)部以軟件專業(yè)研制部門為主導(dǎo),在加強(qiáng)軟件項(xiàng)目科學(xué)管理、做實(shí)軟件工程過程活動(dòng)、做細(xì)軟件項(xiàng)目支持過程等工作基礎(chǔ)上,開展軟件研制過程管理體系實(shí)施,必將提高軟件工程化專業(yè)能力和體系過程符合性。
本文通過簡述GJB5000A 二級體系的建立與實(shí)施、軟件體系推廣過程中難點(diǎn),探索實(shí)踐了一種基于GJB5000A 模型、融合軟件工程化和GJB9001C 管理要求的組織級統(tǒng)一的軟件研制過程管理體系,為軟件體系推廣提供了本地化實(shí)踐,以期實(shí)現(xiàn)嵌入式軟件研制質(zhì)量和效率的穩(wěn)步提升。