美军信息技术敏捷采办研究
2016-04-13邹立岩许鹏文
邹立岩, 许鹏文, 武 剑
(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