敏捷專題:下一代的飛機交付
?隨著信息化和網絡化的發展,航空航天領域的裝備已經發展成為軟件密集型系統,軟件負責完成航空裝備的大部分功能。資料顯示,以美國的F-22戰斗機為例,由軟件實現的功能已經達到80%以上,航空航天領域的軟件規模和重要度與日俱增。

▲航空航天領域的軟件特點
上述特點其實也是航空航天軟件開發的難點所在。尤其是,大型復雜裝備有眾多配套單位,各單位承擔的軟件多以嵌入式小規模軟件為主。然而嵌入式軟件相比一般軟件測試難度較大,急需一種能夠在短周期內提升軟件研制效率的開發模式。
敏捷(Agile)開發模型成為眾多用戶的選擇。敏捷開發以用戶需求進化為核心,采用迭代、循序漸進的方法進行軟件開發,旨在加快產品交付速度和確保產品穩定性,以保證軟件質量。敏捷開發中,軟件項目在構建初期會被切分成多個子項目,各個子項目的成果都需經過測試,具備可視、可集成和可運行使用的特征。
換言之,就是把一個大項目分為多個相互聯系但也可獨立運行的小項目,并分別完成,且在此過程中,軟件需要一直處于可使用狀態。
敏捷真的適用于航空航天的項目管理嗎?
航空航天領域軟件開發的傳統模型為下圖所示的V模型:

▲航空航天領域V字形開發流程
從需求出發,可將飛機系統的構建分為以下幾個階段:
- 概念確定
- 系統定義與設計
- 系統開發與測試
- 系統部署及開始運行

▲圖片來源:https://www.uniroma1.it/en/pagina-strutturale/home
這個繁重過程中的某些階段可能需要數月甚至數年才能完成,且隨時可能出現需求變更——后續流程都得再次更新。同時,出于安全考慮,所有飛機系統在完全投入使用之前,都必須經過漫長的認證周期,這就要求航空航天設備團隊內部必須同步設計計劃,加強團隊內的協作。
敏捷開發模型幾乎可以解決上述所有難題:
1. 敏捷開發要求所有團隊內的相關方反饋被快速獲取,航空航天設備團隊可因此專注于根據計劃迭代分配任務,彌補計劃與執行之間的差距。
飛機計劃往往龐大而復雜,如何將其轉化為具體行動是較為常見的問題。常見的標準方法是通過冗長的甘特圖來確定路線圖,但這張無法實時更新的方法清晰度與透明度都比較低,無法確保每個團隊都在按照同一路線努力。
在敏捷實踐中,使用合適的看板工具就可以解決這一問題,團隊內的各部門都可從頭到尾跟蹤進度,管理者也可以快速發現工作流程中的效率或者其他問題,并快速采取必要措施,及時作出回應。
2. 采用合適工具的敏捷開發模型可以解決航空航天領域硬件測試存在的問題。
航空航天領域嵌入式軟件開發的最大挑戰在于其開發和測試過度依賴硬件。與傳統互聯網產品或者PC上的應用軟件不同,嵌入式軟件受制于其專用于特定嵌入式系統的特性,往往需要連接目標硬件才能完成調試、測試工作。
傳統的嵌入式軟件快速迭代依賴于配套的測試硬件,而飛機硬件通常可復用性差、成本高昂。根據德勤研究數據,2020年航空航天項目的總成本超支將上升至51%。不僅存在經濟壓力,項目進度也會因此遭到嚴重延誤。
不僅如此,嵌入式軟件的測試環境搭建過程過于復雜,測試環境的搭建要求高、時間長,航空航天領域的嵌入式軟件測試環境的占地面積還尤其大。
SkyEye,中文全稱天目全數字實時仿真軟件,是基于可視化建模的硬件行為級仿真平臺,可使航空航天團隊快速搭建虛擬硬件模型,解決硬件成本高昂、復用性低等問題,同時保證產品質量。

▲基于可視化圖形的硬件建模
SkyEye可為綜合航空電子系統(ICP)提供多機多功能目標系統搭建的環境,采用分布式部署方式,通過多路傳輸數據總線把多種機載電子分系統交聯在一起,實現信息的測量、采集、傳輸、處理、監控和顯示功能,并完成飛行控制、發動機控制、導航、性能管理等任務。

▲SkyEye大規模航電系統仿真案例
3. 敏捷開發模式可更高效地處理硬件資源協調帶來的團隊爭端。
當硬件資源稀缺時,工程師們將無法同時使用硬件測試環境,管理者需要在測試資源的調度上消耗更多的時間及精力。結合敏捷開發模式,SkyEye可與眾多工具(如禪道、Jenkins、GitHub、極狐GitLab等)聯合,打造全鏈路一站式平臺,管理者可以更便捷地進行資源分配。

▲敏捷開發模式下的航空航天設備制造流水線
總的來說,結合合適的仿真工具,敏捷開發模式是可以在高度復雜的航空航天工業中找到合適的實施方案的,將有力縮短產品的交付周期。
實際的項目開展過程中,可根據軟件工程化的實際情況形成適用于具體情況的本地化敏捷測試方法,并在工程實踐中有效、充分地應用,對提升我國航空航天軟件的研制效率有重要意義。
?
浙公網安備 33010602011771號