鄒立巖, 許鵬文, 武 劍
(1. 65731部隊; 2. 裝備學院 裝備采辦系, 北京 101416; 3. 裝備學院 研究生管理大隊, 北京 101416)
?
美軍信息技術敏捷采辦研究
鄒立巖1,許鵬文2,武劍3
(1. 65731部隊;2. 裝備學院 裝備采辦系, 北京 101416;3. 裝備學院 研究生管理大隊, 北京 101416)
摘要針對傳統信息技術采辦方法的不足,美軍近年來大力呼吁敏捷采辦,并在相關采辦項目中開展試點,取得良好成效。為探究美軍信息技術敏捷采辦的優勢,對敏捷采辦的概念和特點進行了研究;以敏捷方法中的Scrum方法為例,分析了美軍敏捷采辦的組織、框架和執行;最后,從敏捷采辦的可行性和適用性、管理思想和文化,以及與我軍信息系統裝備體系建設相結合的角度,提出美軍敏捷采辦對我軍的幾點啟示。
關鍵詞信息技術;敏捷;采辦
US Army Information Technology Agile Acquisition
ZOU Liyan1,XU Pengwen2,WU Jian3
(1. 65731 Troops, China;2. Department of Equipment Acquisition, Equipment Academy, Beijing 101416, China;3. Department of Graduate Management, Equipment Academy, Beijing 101416, China)
AbstractAiming at the shortcomings of traditional information technology (IT) acquisition method, US Army advocates agile acquisition and sets pilots projects among relevant acquisition projects which has shown good results recently. To explore the advantage of agile IT acquisition, the paper firstly studies on the concept and features of agile acquisition. Then, taking an example of Scrum approach, the paper analyzes the organization, framework and implementation of agile acquisition in US Army. In the end, from the perspective of combining the feasibility and applicability of agile acquisition as well as its management philosophy and culture with the building of information equipment system in the PLA, the paper brings out several enlightenments of agile acquisition for the PLA.
Keywordsinformation technology (IT); agile; acquisition
隨著信息時代的發展,互聯網、信息系統和移動通信等信息技術正發生著日新月異的變化,云計算、大數據和人工智能等尖端信息技術站上浪潮之巔,不斷地改變著人們工作、學習和生活的方式。正是這種快速變化,迫使美軍開始反思傳統的軟件工程方法是否能夠適應信息技術的快速發展,并逐步、謹慎地開展了信息技術敏捷采辦的相關實踐。事實證明,敏捷采辦使美軍在獲取信息技術能力(Information Technology Capability)時更加迅速,并且能夠有效地響應美軍在作戰、技術和預算等方面的變化。
1美軍敏捷采辦的概念和特點
1.1美軍敏捷采辦的概念
1) 敏捷開發。敏捷開發(Agile Development)是輕量化的軟件開發過程,其“輕”主要是針對傳統軟件開發方法[1]如瀑布模型、能力成熟度模型集成(Capability Maturity Model Integration,CMMI)等比較“重”的開發過程而言。“敏捷開發”這個概念最早在2001年提出,當時由17名軟件開發專家共同發起“敏捷宣言”并提出12條敏捷原則。美軍將其凝練出4條核心價值觀:(1) 聚焦于小規模的、頻繁的軟件能力交付;(2) 能夠工作的軟件重于面面俱到的文檔;(3) 快速響應作戰、技術和預算的變化;(4) 用戶應積極參與軟件開發過程以確保軟件具有高度的使用價值[2]2。
2) 敏捷方法。美軍研究人員給出敏捷方法(Agile Method)的定義:一種迭代和增量式(進化)的軟件開發方法,它由自組織團隊在一種有效管理的框架下,講究“剛好夠用”,以一種高度協作的方式進行,追求成本效益,及時生產高質量的軟件,滿足利益相關者不斷變化的需求[3]。敏捷方法是一種方法論,是多種方法的集合,如Scrum、極限編程(Extreme Programing,XP)、測試驅動開發(Test Driven Development,TDD)等。
3) 敏捷采辦。美軍所指“敏捷”“敏捷方法”“敏捷開發”是指同一概念,只是表述不同,關鍵是對敏捷思想或理念的認同。而美軍所謂敏捷采辦,主要指在信息技術采辦(特別是軟件密集型項目)過程中,引入敏捷思想并科學采用敏捷方法進行開發,以克服傳統采辦方法不夠敏捷、靈活的缺點,從而提高IT采辦的效率、效益和質量。
1.2美軍敏捷采辦的特點
1) 靈活性。敏捷意味著靈活,主要體現在2個方面:一是敏捷采辦追求的目標是小規模、頻繁地獲取信息技術能力,以及對需求、技術和預算等變化的快速響應,它比傳統采辦方法更加靈活;二是敏捷采辦本身不強制采用某一種敏捷方法或嚴格遵循預先設定的采辦流程,而是強調使用一種充滿活力、動態的、適當裁剪和能夠快速進化的方法來保障項目的完成。
2) 合規性。雖然敏捷方法打破了傳統軟件開發方法那種自上而下的開發過程,轉而強調以小規模、迭代和進化的開發方法,但并不是對傳統開發方法的否定,而是在繼承傳統開發方法優勢的基礎上來提高軟件的開發效率。但是,美軍國防采辦有著嚴格的DoDI 5000.02框架,在采用敏捷方法的同時,不能突破這個框架及要求,而是在此框架之下適用敏捷方法,即敏捷采辦具有遵循制度法規要求的合規性。
3) 實踐性。目前,敏捷方法在商業領域的應用已十分普遍,但在美軍內部還沒有形成統一制度,仍然是謹慎的實踐性質。這是因為并不是所有的IT采辦都可以適用敏捷方法,敏捷方法也不是“包治百病”的“靈丹妙藥”。雖然一些試點項目的成功,積累了一些經驗,但仍然需要時間來不斷試錯、學習并總結經驗,以形成更加完善的敏捷采辦政策、文化和流程等最佳實踐,以此發揮敏捷方法的最大優勢。
2美軍敏捷采辦的組織、框架和執行
在敏捷方法中,Scrum方法的使用占比高達50%[4],最為流行。因此,主要以Scrum方法為例,分析美軍敏捷采辦的組織、框架和執行。
2.1美軍敏捷采辦的組織
敏捷采辦需要承包商開發團隊和政府項目管理辦公室建立與傳統的自頂向下層級組織結構不同的工作角色和責任。美軍敏捷采辦的基本組織結構[2]11如圖1所示。

圖1 美軍敏捷采辦的基本組織架構示意
圖1中,最內兩層屬于敏捷采辦核心團隊,一般由政府的項目管理人員、產品經理、測試人員和系統工程人員,以及由承包商敏捷主管(Scrum Master)領導的開發小組組成。其中,產品經理和敏捷主管是Scrum方法特有的,前者是用戶的代言人,負責將用戶需求和反饋以適當的形式傳遞給開發人員;后者是敏捷團隊的導師和組織者,負責優化敏捷流程,確保敏捷思想貫徹執行。最外層是由相關職能領域的利益相關者代表組成的擴展團隊,主要來自于采辦領導層、作戰(使用)領導層、合同訂立、成本經費、企業體系、測試認證、用戶以及其他外部環境。之所以采用同心圓結構,是因為敏捷開發強調的是團隊成員之間的經常性協作,這與傳統采辦方法中政府部門只負責監管、較少參與開發全程的情況有所區別。敏捷采辦團隊是自組織團隊,強調團隊成員分工負責某一方面工作的同時,積極參與項目其他方面工作,共同解決項目中出現的問題。此外,該圖是敏捷采辦最基本的組織結構,在此基礎上還會出現同一基本組織結構下多個開發小組并行(Scrum of Scrums)工作或多個基本組織結構并行(Team of Teams)工作的情形。
2.2美軍敏捷采辦的框架
實際上,美軍2013年版DoDI 5000.02[5]的軟件密集型項目采辦模型提供了一個適于敏捷開發的漸進式框架,敏捷采辦以此為基礎進行裁剪,以適應小規模、迭代和增量的開發要求,基本框架如圖2所示。在采辦開始時,首先依據美軍IT采辦的相關要求,形成頂層的初始能力文檔(Initial Capability Document,ICD),經過方案分析階段后,由里程碑A進入項目規劃階段,此階段主要任務是由產品經理將用戶需求轉化為整個項目的待辦事項(Backlogs),并按照需求的優先級將這些Backlogs劃分到若干發布版本(Release)當中。然后,由里程碑B進入實質性的漸進式開發階段,此階段要求對發布版本的功能需求列表進行優先排序以形成Release Backlogs,而后再將這些Backlogs按照優先級依次劃分到多個“Sprint”迭代開發周期當中。其中,每一次Sprint迭代開發又分為設計、開發、集成、測試和演示5個階段,構成一個閉環過程。在Sprint迭代過程中,需要根據反饋信息,持續地對Release Backlogs甚至Program Backlogs進行修整和重新排序,以便在下一次Sprint迭代中積極響應用戶需求變化并及時修正開發中存在的問題。最后,在一系列Sprint迭代之后,經過最終測試與認證,就可以對Release版本進行全面部署。

圖2 美軍敏捷采辦的框架
2.3美軍敏捷采辦的執行
美軍敏捷采辦在執行策略[2]20-54上與傳統方法有所不同,主要體現在需求生成、系統工程、合同訂立、費用評估、度量標準、開發測試和部署維護等過程當中。
1) 需求生成。敏捷方法不要求在項目初始就確定整個項目的范圍、需求以及設計,而是假設這些因素是隨時可變的,這與傳統采辦方法在項目開始就要求給出初始方案并固化需求有所不同。首先,敏捷采辦強調“可以工作的軟件勝過面面俱到的文檔”,但也必須以DoDI5000.02所要求的頂層文件和信息要求進行項目規劃,同時還要滿足聯合能力集成與開發系統(Joint Capability Integration and Development System,JCIDS)中IT Box[6]的需求生成過程。其次,敏捷采辦的需求管理是以用戶為中心將各種使用場景轉化為“用戶故事(User Stories)”,再轉換為Program、Release和Sprint的Backlogs列表,而不是格式化的需求文檔,并且可以隨著迭代周期進行調整。最后,敏捷采辦要求用戶全程參與開發過程,以及時獲取、反饋和變更用戶需求。
2) 系統工程。系統工程可以確保敏捷采辦項目與現有企業體系結構的集成、利用持續原型開發快速集成新技術或驗證創新方案、進行風險管理和配置管理、防止技術債務(Technical Debt)導致延期交付等。敏捷采辦雖具靈活性,但仍鼓勵系統工程人員將開發人員、測試人員、用戶和利益相關者納入嚴格的系統工程過程,可通過將系統工程過程分解至每一個Release開發過程中來實現。
3) 合同訂立。由于敏捷采辦允許經常性的需求變更,并采用增量開發,所以提前固化產品需求并定義最終產品的傳統采辦合同不太適于敏捷采辦。因此,美軍提倡使用服務合同來替代產品合同,即不單純以技術實力來選擇承包商,而是以承包商敏捷開發團隊的專業水平和提供服務的時長來確定合同內容。美軍推薦的敏捷采辦合同包括:固定價格服務合同、成本補償條款合同(按工作標準)、時間和物料(按勞動時長)服務合同。
4) 費用評估。敏捷采辦在費用估算工具的使用上與傳統IT采辦無異,但需要在不斷迭代的過程中以一種更加集成和協作的方式來進行。因為需求的變化,項目開始時只能給出大體的量級估算,只有開發團隊進入相對穩定的開發節奏后,才有可能給出精確的費用評估。這需要費用評估人員與用戶、開發團隊、系統工程人員、利益相關者密切協作,在需求數量和每次增量開發的工作量上達成共識。另外,敏捷采辦相比傳統采辦的優勢,就是可以調整需求來適應固定的預算,即將有限的費用用于優先開發最需要的功能,從而降低因預算不足導致采辦項目失敗的風險。
5) 度量標準。敏捷采辦應當采用敏捷方法特有的度量標準反應敏捷開發的狀態,也可以裁剪一系列通用的項目管理指標來反映項目進展。如Scrum使用工作要素(如故事點、員工小時、任務列表等)、燃盡圖以及速率來跟蹤進度并衡量生產效率、成本、進度和績效等。
6) 開發測試。在敏捷方法中,測試集成于每個Sprint迭代,而不是等到全部開發工作完成后才進行測試。敏捷開發要求測試團隊具備相關業務領域的知識,盡早甚至在需求生成時就介入Sprint迭代,能夠與其他團隊積極協作,準確掌握不同業務領域的測試標準。
7) 部署維護。敏捷采辦的部署通常以Release為單位,但在進行了充分的測試和認證后,也可以在Sprint級別進行部署。敏捷開發的迭代屬性能夠使所獲取的IT能力在不斷進化中解決開發缺陷,同時在使用和維護IT能力時進行持續地反饋,以便產品經理可以修整和優化項目Backlogs排序,為未來的增量開發打下基礎。
3美軍敏捷采辦對我軍的啟示
3.1正確理解敏捷采辦的可行性和適用性
實際上,美國國防部早在2010年就意識到其在IT采辦方面正陷于一種效率低下的“深思熟慮”,需要開發一種新的采辦方法以適應不斷進步的IT能力和用戶需求。為此,美國國防部發布了《在國防部范圍內采用新的信息技術能力交付方法》的報告,提出一種快速、迭代和增量式的國防業務信息系統采辦模型[7]。同時,美軍也意識到在商業領域被廣泛采用的敏捷方法,恰恰能夠滿足其對IT采辦的新要求,因此委托相關學術機構做了一些研究報告[8-10],對國防IT采辦使用敏捷方法的可行性、優勢、風險、挑戰和關注點等內容進行了論證。應該說,美軍一些敏捷采辦項目的成功實施,如美軍移動智能設備“改造應用”(Transformative Apps,TransApps)計劃和空軍“集成戰略規劃與分析網絡”(Integrated Strategic Planning and Analysis Network,ISPAN)項目,以及“全球戰斗支援聯合系統”(Global Combat Support System-Joint,GCSS-J)在后續增量開發中轉向敏捷方法,都說明將敏捷方法用于國防IT采辦項目是可行且有效的。
同時也應當清醒地認識到,盡管敏捷方法廣泛應用于商業領域,美軍也有成功的敏捷采辦實踐,但敏捷采辦也有一定適用性。在我軍裝備采辦流程和系統工程約束下,敏捷采辦更適于對現有系統或平臺的接入式集成、商業現貨(Commercial off the Shelf,COTS)產品的定制或小范圍內強制使敏捷方法。對于一些需要提前確定體系結構的大型IT采辦項目,需要在體系結構的穩定性和敏捷方法的靈活性之間取得平衡。一般可以先采用傳統開發方法建立基線體系結構(Baseline Architecture)并完成整體概念設計,在后續的增量開發中轉向敏捷方法,并向作戰基線(Operational Baseline)加入新的功能。另外,在應用敏捷方法前,應當對項目的易變性、關鍵性、可用資源、組織文化、用戶和利益相關者的可行性及義務等方面進行綜合評估,來衡量是否適于采用敏捷方法。
3.2培育敏捷采辦所需的管理思想和文化
目前,在我軍信息系統采辦中,經常采用的是瀑布模型或CMMI模型,在一定程度上存在開發周期長、需求變更成本高、增量升級緩慢、用戶反饋不暢等問題,而敏捷采辦正是解決上述問題的有效方法。因此,我軍可以考慮在信息系統采辦中引入敏捷方法,同時注重敏捷管理思想和文化的培育,為敏捷采辦提供良好的運行環境。
1) 設立類似產品經理的有關職務和職責,負責用戶需求的溝通,將信息系統作為一個產品,注重用戶體驗和反饋,精心打磨信息系統產品。
2) 采用小規模、迭代和增量的開發方法,使基礎、關鍵和急需的功能能夠實現快速部署,并在后續的增量開發中不斷完善系統功能。
3) 使信息系統用戶、軍隊采購管理部門、系統開發人員和相關利益部門能夠真正組成一個及時、高效的協作團隊,全程參與信息系統的需求生成、系統工程、合同訂立、費用管理、開發、部署和維護等環節,共同培育信任和協作的敏捷文化。
4) 通過權力下沉,將項目規劃、需求變更、測試、評審、認證和部署等大部分項目決策權賦予項目執行團隊,增強團隊自組織性、激發團隊積極性,為敏捷開發提供和諧的工作環境。
5) 創新合同管理。我軍現有采購合同大多是以最終交付產品的形式為主,而敏捷采辦適于采用靈活性較強的勞務合同。因此應考慮創新合同形式,以采購敏捷開發團隊的勞務價值為基礎,同時加強軍方參與和管控,確保敏捷的靈活性和最終產品的交付均能夠實現。
6) 開展敏捷采辦實踐。首先是在我軍信息系統采辦中小規模地采用敏捷方法并不斷總結經驗,然后逐漸地推廣成功經驗,而后再實踐、再總結,形成閉環過程,同時注重與傳統采辦實踐的結合融合,最終探索出適于我軍的敏捷采辦“最佳實踐”經驗。
3.3探索信息系統裝備體系建設與敏捷采辦相結合
目前,我軍已經建有一定數量的軍事信息系統,用于指揮、管理、訓練等各個領域,形成了我軍特色的信息系統裝備體系。但這些信息系統還較多地存在“信息孤島”現象,信息系統之間的接口定義不良,導致信息系統的互聯互通和信息共享等問題還沒有徹底解決。同時,軟件功能重復建設、重用度低、架構不靈活等問題也造成一定資源浪費,使得信息系統之間的綜合集成變得比較困難。敏捷采辦作為一種軟件開發理念和方法,對于解決上述問題及在信息系統裝備體系建設中的作用和效果仍需要不斷探索,主要體現在以下3個方面:
1) 在現有軍事信息系統綜合集成中探索敏捷采辦的應用。將敏捷開發的原則應用到系統集成當中,建立自組織團隊,以小規模迭代開發為主,采用開放式標準和接口,注重代碼的可重用性,優先滿足部隊的核心集成需求,提高信息系統裝備綜合集成的效率和質量。
2) 對現有軍事信息系統進行增量開發時采用敏捷方法。隨著對軍事信息系統功能需求的深入理解和變化,有規劃、有周期地對現有軍事信息系統的功能進行改進、升級和迭代,以不斷適應未來戰爭對軍事信息系統的更高要求。
3) 在即將投入建設的軍事信息系統中引入敏捷采辦。特別是系統的體系結構設計,不盲目追求系統功能的完備,而是在確保核心體系結構“夠用、耐用、實用”的前提下,在后續開發和使用過程中不斷調整、增加系統的體系結構,提高體系結構的敏捷性和靈活性,使體系結構的構建變成一個動態過程,防止靜態體系結構與真實需求難以對接造成不必要的資源浪費。
4結 束 語
敏捷采辦是美軍近年來軟件工程領域研究和改革的重點,它并不是對原有的瀑布式和CMMI等模型的否定,而是主張將敏捷思想與傳統的軟件工程模型相結合;不是強制使用某種敏捷開發方法,而是強調在實踐中不斷總結最佳的實踐經驗,甚至將敏捷采辦的經驗推廣至非軟件密集型采辦項目。本文僅對美軍敏捷采辦情況作了簡要梳理和總結,以期為我軍提高信息系統采辦效率、效益和質量提供借鑒,為我軍開展敏捷采辦研究和實踐提供參考。
參考文獻(References)
[1]王敏.基于Scrum敏捷開發的軟件過程管理研究[D].昆明:昆明理工大學,2010:12-14.
[2]The MITRE Corporation.Defense agile acquisition guide[EB/OL].[2014-12-10].http://www.mitre.org/sites/default/files/publications/MITRE-Defense-Agile-Acquisition-Guide.pdf.
[3]LAPHAM M A.DoD agile adoption:necessary considerations,concerns,and changes[J/OL].CrossTalk,2014,25(1):31-35[2014-12-15].http://www.crosstalkonline.org/storage/issue-archives/2012/201201/201201-0-Issue.pdf.
[4]Defense Information Systems Agency.Agile development at the DoD[EB/OL].[2014-12-27].http://www.affirm.org/sites/default/files/presentations/201110/Agile_at_DoD.pdf.
[5]Department of Defense.Interim DoDI 5000.02: operation of the Defense acquisition system [EB/OL].[2014-12-27].http://www.dtic.mil/whs/directives/corres/pdf/500002_interim.pdf.
[6]Department of Defense.Manual for the operation of the joint capabilities integration and development system[EB/OL].[2014-12-27].http://jitc.fhu.disa.mil/jitc_dri/pdfs/jcids_manual_19jan12.pdf.
[7]Office of the Secretary of Defense.A new approach for delivering information technology capabilities in the Department of Defense[R].Washington,D.C.:Office of the Secretary of Defense,2010:1-37.
[8]Carnegie Mellon University Software Engineering Institute.Considerations for using agile in DoD acquisition[EB/OL].[2014-12-05].http://www.sei.cmu.edu/reports/10tn002. pdf.
[9]Carnegie Mellon University Software Engineering Institute.A closer look at 804: a summary of considerations for DoD program managers[EB/OL].[2014-12-05].http://www.sei.cmu.edu/reports/11sr015.pdf.
[10]Carnegie Mellon University Software Engineering Institute.Agile methods: selected DoD management and acquisition concerns[EB/OL].[2014-12-05].http://resources.sei.cmu.edu/asset_files/TechnicalNote/2011_004_001_15335.pdf.
(編輯:李江濤)
中圖分類號E139
文章編號2095-3828(2016)01-0057-06
文獻標志碼A DOI10.3783/j.issn.2095-3828.2016.01.013
作者簡介鄒立巖(1983-),男,碩士,主要研究方向為裝備采辦信息化。zouliyan66@126.com
收稿日期2015-01-13