張利娜、黃輝、宋順利、康冰、蘇娟 /北京航天發(fā)射技術研究所
面對項目任務多、研制強度高,裝備自動化、信息化、智能化要求越來越高的形勢,北京航天發(fā)射技術研究所為項目任務配套的軟件數(shù)量不斷增加,軟件重要程度隨之同步提升。多項目任務并行狀態(tài)下,軟件研制效率、質量有待進一步提升,建立統(tǒng)一的軟件過程管理體系和規(guī)范軟件管理流程的需求亦愈加凸顯。
通過前期梳理識別,研究所在組織管理、項目管理、工程管理和支持管理等方面均暴露出問題與不足。針對軟件過程管理過程中發(fā)現(xiàn)的問題,研究所導入GJB5000 軍用軟件能力成熟度模型,按照成熟度等級持續(xù)開展軟件過程管理改進工作,識別具體問題,明確軟件過程管理提升思路與實現(xiàn)路徑,持續(xù)深化適應新形勢的軟件過程管理模式,提高軟件過程管理能力,提高軟件產品質量,確保各項目任務圓滿完成。
研究所以問題為導向,首先識別、梳理現(xiàn)有軟件管理模式下各研究室、項目組、主管機關在軟件研制和管理過程中遇到的問題。針對問題進行匯總分析,面向過程挖掘問題產生的深層次原因,在此基礎上明確軟件過程改進目標,開展年度過程改進策劃,制定具體措施并在全所層面開展軟件過程管理改進系列工作,逐步完善適應新環(huán)境、新要求的軟件過程管理模式,最終提升軟件研制質量和過程績效,確保項目任務圓滿完成。
(1)問題識別階段
為辨識軟件研制過程中存在的矛盾與問題,逐步明確后續(xù)管理提升方向,研究所采取到基層軟件承研部門調研和線上收集改進建議相結合的方式,結合軟件實際研制過程,從組織管理、項目管理、工程管理和支持管理4個層面對軟件管理過程中存在的問題進行識別,尋找差距和解決措施。識別出的具體問題如表1所示。
表1 軟件過程管理問題匯總表
(2)方案制定階段
針對已識別的問題,研究所結合GJB5000 軍用軟件研制能力成熟度模型的推廣,將軟件管理成熟度劃分為5 個階段,分別為初始級管理、規(guī)范級管理、全面級管理、量化級管理和卓越級管理。每個成熟度等級都有一組對應實踐域,實踐域內相應實踐全部實現(xiàn),表明軟件管理達到該成熟度等級的要求。
基于GJB5000 軍用軟件研制能力成熟度模型的軟件管理模式提升,為后續(xù)軟件管理提升工作明確了總體思路和階段性可量化目標。按照此思路,研究所以實現(xiàn)項目級的精細化規(guī)范管理和實現(xiàn)組織級的全面精細化管理為目標,制定了軟件過程管理提升方案。
(3)措施制定與落實階段
基于以上兩個目標,分別在組織管理、項目管理、工程管理和支持管理4 類實踐域持續(xù)開展軟件過程管理提升系列工作。組織管理從領導作用、過程改進、資源保障等方面提供組織保障和條件保障;項目管理從策劃、監(jiān)控、風險與機遇管理、外部供方管理等方面,確保項目管理活動規(guī)范有效;工程管理從論證、需求、設計等方面,規(guī)范產品和服務的相關活動;支持類管理從配置管理、質量保證、測量與績效管理等方面,提供支持保障。4 類管理實踐域之間的關系如圖1 所示。
組織管理提升措施。明確各級領導在建立、實施、保持和改進過程等方面的職責,更好地發(fā)揮領導作用,促進組織業(yè)務目標的實現(xiàn);針對組織的業(yè)務目標,確定需要改進的過程和改進項、制定實施年度過程改進計劃、年底分析過程改進的有效性;建立并維護組織的軟件過程資產庫,并在組織管理和軟件項目研制中調用這些資產,實現(xiàn)組織資產的可持續(xù)積累,提升項目和組織的過程績效;制定年度軟件人員培訓計劃,按計劃為軟件人員提供知識和技能培訓,使軟件人員具備履行職責的能力;為組織和軟件項目的建立、實施、保持和改進提供必要的資源保障,建立軟件過程管理體系并監(jiān)督實施,確保組織有效實現(xiàn)業(yè)務目標。
項目管理提升措施。統(tǒng)籌考慮和平衡進度、質量、成本等項目要求,制定和維護合理適用的軟件開發(fā)計劃,提升實現(xiàn)項目目標的可能性;依據(jù)項目計劃,通過監(jiān)控和管理項目活動及時發(fā)現(xiàn)影響項目目標實現(xiàn)的問題,并采取措施確保項目成功;預先識別和管理潛在風險和機遇,適時啟動風險處理以緩解不利影響,提高實現(xiàn)項目的可能性;評價外部供方的履約能力,加強對外包軟件研制過程的管理,確保供方提供的產品和服務符合要求。
工程管理提升措施。開發(fā)、維護和管理軟件需求,與利益相關方達成一致意見,確保需求可以實現(xiàn);確定軟件設計和實現(xiàn)的準則,設計滿足需求的技術方案,實現(xiàn)滿足需求的軟件產品;建立并維護集成策略和環(huán)境,集成并交付滿足功能和質量要求的軟件產品;建立并維護同行評審規(guī)則,與同行專家一起對軟件產品實施評審,識別并解決軟件產品問題,確保產品滿足需求;建立測試環(huán)境,制定并實施測試計劃,記錄、溝通、處理測試結果,確保產品在目標環(huán)境下滿足預期要求;產品交付后,向客戶提供技術支持與服務,開展產品升級與維護,增加顧客滿意度。
支持管理提升措施。通過配置標識、配置版本控制、配置狀態(tài)紀實,建立并維護軟件產品的完整性和一致性;確保向顧客提供正確版本的軟件產品;制定質量保證計劃,按計劃對過程和產品的質量進行評價,并解決不符合項確保過程和產品滿足要求;建立決策準則和方法,對需要決策的多個備選方案進行評價,通過客觀的分析確保決策出最佳方案;識別發(fā)生質量問題的原因,從技術上按措施有效、舉一反三的要求,從管理上按措施落實、嚴肅處理、完善規(guī)章的要求逐項落實改進措施,防止問題再次發(fā)生;建立組織級測量庫,使用測量與分析的方法對軟件工作和業(yè)務績效進行管理,確保在實現(xiàn)業(yè)務目標的同時,組織能力和績效得到同步提高。
自開展軟件過程管理提升工作以來,隨著組織管理、項目管理、工程管理、支持管理等方面的措施逐步落實,軟件研制資源得到保障,規(guī)范了軟件管理工作流程及研制過程,提升了軟件產品化率和軟件代碼復用率,確保軟件按期交付和產品質量。具體表現(xiàn)有:
成立了所級過程改進組織機構。由所長擔任管理指導組組長,主管質量副所長擔任軟件工程過程組組長,圍繞過程改進目標,管理指導組年初召開所級驗證會,評審上一年度軟件過程改進目標實現(xiàn)情況,提出本年度重點工作,形成所級決策意見。軟件工程過程組結合每年承研的重點項目,策劃年度軟件過程改進工作,制定AVIDM 專項計劃并監(jiān)督執(zhí)行。軟件副總師每周召開例會,系統(tǒng)推進軟件過程改進工作。組織級質量保證組定期開展內部評估及項目專項檢查,確保體系有效推進、持續(xù)改進。組織機構分工明確,形成了一套規(guī)范的工作流程,如圖2 所示。
圖2 軟件管理模式框圖
對標GJB5000 軍用軟件研制能力標準要求,軟件過程改進組開展實踐域實施要素識別和分析,編寫并發(fā)布了軟件過程管理體系文件,內容涵蓋組織管理實踐、組織培訓實踐、項目管理實踐、供方管理實踐、同行評審實踐、軟件工程實踐、配置管理實踐、質量保證實踐、測量與績效管理實踐、決策分析實踐、原因分析實踐共11 個管理實踐。面向表1 中項目管理、工程管理、支持管理等問題,體系提供了相應的流程規(guī)范,詳見表2。體系文件包括48 份文檔模板、60 份表單、37 份檢查單和20 份審查要素表,為組織的管理和軟件項目的實施提供了有力支撐。
表2 面向問題的流程規(guī)范
通過與軟件公司合作,建設軟件工程過程管理集成平臺。通過“整合、集成”實現(xiàn)“信息共享、工作協(xié)同”,為所領導、軟件項目管理者、項目組成員提供可視化、一體化的工作環(huán)境。平臺的推廣和使用,提高了軟件過程改進信息化程度,體系的執(zhí)行和數(shù)據(jù)的收集、存儲得到了保障,加強了軟件項目間協(xié)作能力和自動化水平,方便項目級和組織級積累過程數(shù)據(jù)和經驗數(shù)據(jù)。
研究所建立了組織級資產庫,包含體系文件庫、標準規(guī)范庫、案例庫、過程改進庫、測量指標庫、重用資產庫、培訓庫、經驗庫、風險機遇庫、標準工作環(huán)境庫共10 個庫。組織資產庫為項目實施提供參考,通過執(zhí)行組織的標準體系以及對軟件產品的重用,減少了軟件項目組重復性開發(fā)工作,降低成本的同時提高了軟件研制過程的規(guī)范性,從而提高了軟件研制效率和軟件產品質量。項目執(zhí)行過程中生成的共性需求、可重用代碼、經驗教訓、改進建議等通過分析驗證后又可納入組織資產庫。通過不斷迭代優(yōu)化積累組織資產,逐步提高軟件研制能力成熟度。
依托軟件產品化建設建立了通用模塊級、通用構件級、通用配置項級、通用平臺級4 層軟件重用庫?;谀巢僮飨到y(tǒng)的控制系統(tǒng)應用軟件通用設計構件,已應用于多個項目累計幾十個軟件配置項,代碼重用率均達60%以上。基于某平臺的流程控制類軟件通用設計構件,已應用于3個項目共8 個主控軟件配置項,代碼重用率達40%~60%。
2022 年規(guī)劃建立多個通用平臺,立項研制多個配置項。多個通用配置項、多個通用構件及幾百個通用模塊已入軟件產品重用庫。新研項目軟件產品化率達到40%~60%,軟件代碼重用率達到60%~80%,確保了快速增加的軟件任務按期交付和產品質量。
軟件過程管理按照分層、逐步提升思路成為研究所每年持續(xù)開展的專題工作之一。2014 年,軍用軟件研制能力二級成熟度等級通過認證,實現(xiàn)了軟件項目級的精細化規(guī)范管理。2022 年,軍用軟件研制能力三級成熟度等級通過認證,實現(xiàn)了軟件組織級的精細化規(guī)范管理。
本文以提升軟件過程管理效率及效果為目標,結合GJB5000 軍用軟件研制能力成熟度模型二級、三級實踐域特點,提出了適用于研究所的軟件管理建設思路及方法。后續(xù),研究所將在面向項目、面向組織全面推廣項目級、組織級精細化管理的基礎上,持續(xù)開展組織資產庫建設,提升項目軟件研制質量,保障項目研制任務圓滿完成。▲