69

美国空军学习编程,为五角大楼节省了上百万!

 5 years ago
source link: http://www.10tiao.com/html/236/201807/2650700818/1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

五角大楼与Pivotal Labs合作,让飞行员写程序,改变了五角大楼采购武器系统的流程。

图:卡塔尔乌代德空军基地的联合空军指挥中心(CAOC),负责监视美国在海外20多个国家的空军力量

2016年10月,Google的母公司Alphabet的执行主席Eric Schmidt访问了位于阿拉伯湾的卡塔尔。他以国防创新委员会(Defense Innovation Board)主席的身份访问了那里的军事设施,因为他的责任是给美国国防部长“以创新的方式提供独立的建议和推荐,以应对未来的挑战”。

在卡塔尔乌代德空军基地的空军操作中心(Air Operations Center,简称AOC)Schmidt看到美国空军仍在使用磁铁和各种颜色的塑料卡片来管理大量问题。美国空军当时正在参与攻击位于伊拉克摩苏尔的伊斯兰国军事力量。但当Schmidt询问一名AOC指挥官他最担心的事情是什么,他得到的答案令人惊讶。据Schmidt称,“他说,‘其实我担心的是另一件事:我怕他们把我的白板擦了。’”

乌代德空军基地的AOC是美国空军的指挥中心AFCENT的所在地,管理着部署在20多个国家的空军力量,如埃及、哈萨克斯坦等。每天中心都会收到海量的数据,一个由43个软件组成的系统帮助他们处理各种任务,如对目标进行评估以制定进攻计划、给飞行员传递信息、监视各种操作、分析造成的伤害,等等。

但并不是AOC的所有任务都在计算机上完成。比如Schmidt和其他DIB成员很快就发现的白板,就被用来计划AFCENT的空中加油操作。“我们当天接到任务,找出需要攻击的目标,然后分析出谁在什么时候需要多少燃料。”AFCENT的当值主席Mike Drowley上校解释道。“这种分析需要三个或更多的人进行八九个小时,尝试各种可能的组合。就像是玩俄罗斯方块一样。”

这个描述很直接。“实际上,他们会根据白板上的真实距离来确定是否会遇到任务目标。”Schmidt说。为此,一个人负责将数据输入一张Excel工作表中,另一个人负责在白板上摆下各种磁铁和塑料片,来表示飞机能飞多远。

“他们会在工作表的数据正确之后运行一个VBScript脚本。”Google的一名副总裁Milo Medin说,他也是创新委员会的一员。“这个脚本能生成稍后需要手工输入的数据。然后另一个人将这些数据输入到“空中打击计划工具”(Master Air Attack Planning Toolket)中,这个工具可以生成一个空袭计划,该计划以“空袭任务单”(Air Tasking Order)的形式交给位于南卡罗莱纳州肖空军基地的AFCENT总部。

在Schmidt看来,最显而易见的问题就是基地是否有更现代化的软件。“他们回答得很迅速,‘有,但不能用。’”他说。

与Schmidt和Medin同在卡塔尔的委员会成员、加州理工学院教授Richard Murray说,“组里讨论的问题是,这个问题本身并不难解决,但想找出为什么原来的软件不能用却有点棘手。可以想象,这个软件一定是很久以前写的,它只是不能处理这么多的加油机,或者别的什么原因。

但能不能改正这些问题?答案基本上是不行。”Murray说,“这肯定不是正确的答案。”但在联邦的规制下,这的确是正确答案。标准的国防部过程要求AOC所用的软件等系统必须通过招标的方式,然后中标的公司负责设计、构建、验证并测试整个系统,才能发布给用户使用,然后每当有足够多的代码需要修改时,就必须重复整个过程。这就是为什么空军指挥中心的软件从上世纪九十年代之后就没怎么变过。

但委员会的访问引发了一连串的事件,不到六个月之后,卡塔尔AOC的加油机计划就被一个先进的软件取代了,为他们每天节省了几个小时,每周节省了数百万美元。很多AOC其他的软件也被重写了。

这项工作由空军工程师组成的一个快速反应小组负责,与Pivotal Software手把手地合作。五年前他们曾与另一家大型国防承包商签订了一份7亿4500万美金的合同,但五年来却没有任何进展。

空军团队自己写代码的原因是从流行文化中获得的灵感和快速改进的需求。但它还有更正式的任务:消灭阻碍军队进行技术改进的障碍。团队开发的工具的开发及部署的时间和成本都只是过去承包商进行类似工作的一个零头。但这能不能让空军和国防部更广泛地承担起他们在设计、开发和部署软件方面的巨大需求?甚至能否承担起那些军队在战时依赖的那些硬件?


协同工作的汇报


美国空军最新的技术进步发生在意想不到的地方:位于波士顿商业区Portland大街的一所WeWork协同工作间内。在那里,几十名隶属于空军的男男女女每天汇报工作。他们都没有穿军装,也没有穿飞行制服,多数人只是穿着牛仔裤和运动鞋。

一些人穿着印有他们的标志的T恤衫,那是一艘熟悉的太空船的剪影,就是那艘只需要12秒差距就能走完卡塞尔线的飞船。(译者注:这个典故来自星球大战,韩·索罗称他的飞船千年隼号能用12秒差距走万卡塞尔线。)

一些空军人员穿着千年隼号的T恤衫在波士顿商业区写代码,这听上去可能有些奇怪。但奇怪,或者说差异,正是空军想要达到的目标。这些人穿得不像飞行员,更像是软件开发者,因为那正是他们的职业。

他们在WeWork的小型开放式办公室拥有很多键盘和显示器,还有从Pivotal Software附近的办公室和其他民用公司借来的十几个软件工程师。

我最近去拜访过他们。从那些人的装书来看,根本无法把他们与Pivots员工和其他咨询师区分开来。办公室里充满了嘈杂的谈话声和其他活动的声音,一群显要人物组成的参观团——包括Schmidt和其他DIB的成员——在狭窄的空间内游览着。这一天,空军的WeWork办公室被命名为卡塞尔线实验室,也是他们的非正式公开日。

整个办公室看上去不像军方设施,更像是个成长中的创业公司。尽管卡塞尔线是个拥有娱乐性质的名字的空军正式项目,但它的组织也十分不寻常。

不寻常之一就是,这些男男女女正在制造空军最重要的武器系统中的一个组件,而这项工作通常是由承包商完成,并由五角大楼的官员们负责监督。

但做到现在这个程度并不容易。卡塞尔线诞生于危机和偶然中,并由一名懂得软件公司组织形式的国防部官员负责。空军整整花了两年时间在国会山不断游说,再加上从空军总部到Eric Schmidt还有Pivotal Software的不懈努力,终于把上述人员从卡塔尔搬到了硅谷。而且这个项目中途好几次差点死亡。

防御创新委员会(由Ashton Carter于2016年前期创建,后属国防部)了解到,卡塔尔的AOC软件系统是20年前的软件,而且规制使得软件几乎无法被更新。据Schmidt回忆,有一次在白板会议上,他侧身向AOC参观团的另一个人说,“你们不能做点什么吗?”那个人是Raj Shah,凑巧他团队中的某个人等待这个机会很久了。


建立愚蠢的卡片


Shah当时是Ash Carter创建的另一个办公室——国防创新试验单位(Defense InnovationUnit-Experimental,DIUx)的管理合作伙伴。他也是个前飞行员,曾参加过伊拉克的战斗任务。“我曾经在一天内四次进行空中加油,我对于加油机的计划过程的结果非常熟悉。”他说,“我经历过加油机不能按时到达的情况,作为等着加油的人,加油机晚点是非常让人恼火的。”

对于每年出动两万五千架次的空军来说,协调空中加油的任务并不轻松。白板计划显然不是最理想的。因此空军不得不让加油机时刻装满燃料,时刻待命触发,以应付Shah遇到过的那种情况。

Shah自从成为伊拉克的年轻飞行员之后,也了解了整个流程的另一面。"2006年我第一次部署任务时,我收到了一张打印的AOC的电子邮件,上面写好了每个人的目的地。”他告诉我,“然后我的工作就是将这封邮件变成飞行员需要的任务材料,因为我是空军队伍中最年轻的那个。”这个过程需要每晚花费六个小时,将文本复制粘贴到过程卡片上,飞行员将根据这些卡片来执行任务。“就这样度过了大约两个星期,每晚花费六个小时建立这些愚蠢的卡片,我就想,应该还有更好的办法。我的工作完全是从工作表上找到东西,选中,然后翻译成任务文本而已。所以我写了个Excel宏来完成这些工作。”

实际上,许多AOC的应用程序都有类似程度的复杂性。“AOC的特色就是所有新工具都是基于Excel和Powerpoint的,因为那是唯一被许可的方案。”Shah说。

即使是选择并分析目标,然后将目标信息传给飞机中的飞行员这种任务,也是用同样的工具完成的,通常需要人从一个系统的某个屏幕上读出信息,然后输入到另一个系统中。“他们的任务就是复制粘贴,有时还需要用纸笔抄下来,显然这种做法有太多出错的可能性了。”美国AFCENT指挥官Jeffrey Harrigian中将告诉我。“多亏了我们的人很出色,他们极少会把错误的数据传给战斗机中的人。但显然这种工作应该有更好的办法,尽可能减少从一个操作到另一个操作之间的空白。”

如果AOC的软件二十多年没有更新过,那显然不是因为他们没有尝试过。2006年,洛克希德·马丁曾签下了一份5亿8900万美元的合同,将全世界二十多个AOC的软件进行“标准化、现代化,维持并改变”。最初的工作于2007年开始,将上世纪九十年代的AOC 10.1升级到联网的、更安全的AOC 10.2。但是在2013年,空军招标时,洛克希德却没有投标。于是这项工作就给了另一个大型国防承包商Northrop Grumman。但在2016年秋天,在Shah和DIB访问卡塔尔时,Northrop已经落后于计划好几年,并且超出预算几百万美元,使得美国空军最重要的软件系统的未来岌岌可危。

白板问题打动了Shah,而他在这种问题上已经研究了五个月。DIUx一直在寻求创业公司和其他的创新型私人公司,来为国防部面临的一些难题找到快速的解决方案。加油机计划问题正是Shah寻求解决的那种问题。而且他知道,一位名叫Enrique Oti的中校已经急不可耐地要解决这种问题了。“那天我干脆给Enrique打了个电话。”Shah回忆说。


购买的风险


作为一名空军军官,当2015年8月波士顿办公室成立时,Oti被任命为DIUx的空军计划的领导。在一家名为BMNT的咨询公司的帮助下,他开始规划“空军控制中心的未来”。这是一家私人公司,与DIUx同样,由已退役的上校、现隶属于快速装备部队(Rapid Equipping Force)的Pete Newell率领。

Shah的提议更现实些。Shah建议不要去搞整个AOC,“我们为什么不先解决加油机白板的问题呢?以后我们DIUx会投入几百万美金,但我们先从这个开始。明天就开始做。”

Oti去做了。“我给我知道的所有空军中队指挥官发了几封邮件,说,‘嗨,谁有会写代码的人?’”他说。不到一周的时间,Oti就收到了几十封回应(包括一些声称会写代码实际上不会的人)。由于他自己也没有软件开发的经验,只能慢慢尝试了。“我招了六个人先看看他们能干什么。”

为了让Pivotal能尽快开始工作,Oti使用了一些五角大楼的官僚们通常避之不及的设备。Pivotal加入工作后,在他们的授意下,四个空军的编程人员与四个Pivotal员工结对,以实现大家熟知的“极限编程”的软件开发方法。

DIB在10月份访问了卡塔尔。到了圣诞节,Oti和Shah已经有了一个由AOC支持的、由编程人员和产品经理组成的团队,与可能的用户讨论他们的需求。到了2017年4月,加油机计划工具——称为JIGSAW——就在卡塔尔交付使用了。“从起步到战斗指挥时使用的最终产品,我们只花了四个月的时间。”根据最近的研究,国防部软件项目平均需要大约三年。

据Shah说,JIGSAW总共花了220万美元。新的软件不仅节省了大量时间——现在作计划只需要大约两三个小时,而不再需要一整天;而且还让计划更可信赖:AFCENT现在每天出动的加油机少了两三个架次,而每架次的成本就是25万美元。这就是说,只需要大约一周时间就能收回项目成本。

至于原来空军做计划用的那块白板呢?它被装在了位于俄亥俄州Dayton的Wright-Patterson空军基地的博物馆里了。


搜寻硅谷的灵魂


在JIGSAW正式进入使用后,团队把目光放在了更多AOC的软件商。但首先他们要说服空军的生存周期管理中心(LCMC),因为这种项目一般是由他们负责的。

刚开始时要推进一些想法很有阻力。而且还有其他的困难。有人告诉我,最初Oti和AOC的项目管理者Jeremiah Sanders上校起了冲突。

“当时曾有过一些冲突。”空军的国防数字服务方面的项目主管Hunter Price说,他曾帮Oti和DIUx争取空军的领导位置。“项目办公室经过了几次谈话。他们知道他们管理不善,也知道AOC的软件不好用。他们试图找到一些灵魂。”

据Sanders称,灵魂搜寻的一部分由停滞不前的AOC承包商Northrop Grumman进行。“危机总是伴随着巨大的机会,”Sanders告诉我。加油机计划工具的成功“使得我们可以尝试一些完全不同的东西。”Sanders把这种扎根于现代软件开发的迭代过程称为国防部购买软件方面的根本改变,一个“极大地改变了我们满足需求的方法”的改变。他说,“刚开始时我和我的团队都不怎么理解这个变化是多么重要。”

变化的一部分包括与Pivotal密切合作,后者不仅帮助他们给AOC写代码,还负责培训了后来成为计划骨干的空军工程师们。Pivotal负责与联邦政府合作的副总裁Keith Salisbury说,“我们不想永远成为任何人的外包应用开发公司。我们的目标是让客户理解我们的工作内容和工作方法,以及更重要的是我们这样做的原因。我们不想教他们怎样钓鱼。我们想教他们成为钓鱼向导。”

在JIGSAW项目之后,团队开始着手两个应用程序,以帮助解决Harrigian所说的流水线问题,即把信息组合成攻击目标的信息,决定攻击发起的时刻和方式,然后将信息传递给飞行员。两个应用程序的名称为RAVEN和CHAINSAW,其中一个在2017年年底完成并交付使用,另一个将在稍后也会交付。

卡塞尔线团队在波士顿、芝加哥和硅谷的几个办公室中总共拥有大约100名成员。到今年春天,卡塞尔线团队已经交付了五个AOC的应用程序,还有八个应用程序正在开发中。波士顿的团队预计到今年夏天会增长到300人,并占据WeWork工作空间的整整一个楼层。“到今年年底,我希望我们能开发15~18个应用。”Oti说。尽管这不一定会成为指挥中心的未来,但Oti说,“

我们已经开始着手解决整个AOC的问题了。”

“卡塞尔线”这个名字已经成了团队文化的一部分,而团队领导希望能用这个名字给团队带来与军队不一样的分为。“文化是最难的部分。”卡塞尔线的COO、空军上尉Bryon Kroger说。“最难的事情之一就是心理学上的安全。我们谈得最多的一件事就是,怎样才能创造一个环境,让人们能真正感到失败是安全的?这种文化很难创造。Adam(Adam Furtado,卡塞尔线的首席

产品经理)和我都来自军队,Oti上校也来自军队,我们都有这种命令和控制风格的倾向,但团队需要的文化与此截然相反。”

除了名字之外,团队还为项目选了一个标签:#agileAF。该标签的含义一是敏捷软件开发,二是表明卡塞尔线的文化更多像个创业公司,而不是严格的军队。“AF代表美国空军(Air Force)。”Furtado向我确认道。


解开红带


在加油机计划工具交付使用的时候,Northrop Grumman已经落后于计划三年,项目的预算也几乎翻倍,从3亿7500万上涨到了7亿45万。而就在JIGSAW上线的节骨眼上,Northrop很不知趣地来找空军要更多的钱。在四月中旬,也就是AOC的人告别白板的时候,空军给Northrop发布了一条“停止工作”的命令,暂停了合同上的其他工作。六月份合同被取消了。Northrop拒绝对此事做出评论。“我认为空军和国会山都意识到AOC 10.2已经步入歧途,不可能再交付任何东西,所以他们才放弃了。”国防数字服务的Price说。

据Oti说,Northrop的合同的计划是建立安全和联网功能,同时毫无必要地重建上线的所有43个应用程序。而卡塞尔线团队的工作开始实现那些底层功能,因为他们实现了一种事件驱动的架构,使得开发团队可以访问一些机密数据库,并安全地将信息分发给数千名士兵。

据Sanders说,卡塞尔线在2018财政年度的预算只有6800万美元。(另一家大型国防承包商Raytheon在四月份赢得了一份3亿7500万美元的合同,为AOC的软件提供长期维护,并与卡塞尔线的工程师合作。)今年应该还会DIUx和其他来源的合同的方式向卡塞尔线注入更多资金。

项目开始时,Sanders和Oti带领工程师们审查了Northrop提交的代码,但最后他们发现这些代码没办法整合到新的系统中。“遵循软件需求规范并不意味着满足功能上的要求。”Kroger说。

“这里有不少错误,而且我们不会找借口说国防工业写不出好的软件。”Oti说。“我们强迫他们满足需求,他们被强迫构建我们要求的东西,即使他们知道这些需求不正确。”

成立卡塞尔线项目的决定(以及关于该团队的所有其他决定)在底层代码上得到了很好的想过,因为这个决定是从关于用户需求的谈话中得出的。这只不过是现代软件开发的最佳实践而已,但在国防部,这种敏捷性几乎是不可能做到的。需求的规格通常需要花上数年才能写出,然后花费好几年去实现代码,才能在实际中进行测试,因此系统上线的时刻通常就是过时的时刻。“国防部基本上违反了现代产品开发中的每一条规则。”Schmidt最近对国会这样说。

波士顿的空军程序员们致力于改变这一现状。“卡塞尔线不仅要建立应用程序,”Oti补充道,“我们国防部要重新审视下我们的需求分析过程。我们应该将这些技术需求上的决定传递到产品级别,而不是像以前那样止步于采购级别。”

像软件工程师一样,采购人员需要“心理安全”来保证一切都绑在红带(Red Tape,指过分死板的官僚主义)中,以满足国防部规避风险的文化。“即使没有新的授权,其实也能做许多事情,”Schmidt说,“但做这些事情首先要满足文化上的安全。”


枪头


前国防部部长Ashton Carter告诉我,卡塞尔线“正是我希望国防创新委员会的成果”。“我们的贡献就是负责观察,这对于以后的史书一定是很有意思的题材。”Eric Schmidt说。“然后我们就可以走了,自有其他人来完成工作。”

卡塞尔线为以后的变化提供了一个模型,但人们不断地希望看到这个模型能适用于多大的范围。生命周期管理中心开始尝试将一些其他项目移交给卡塞尔线,他们称卡塞尔线为“一个常识性的软件开发团队的模型,”国防数字服务的Price说,其他“创新中心”已经开始构思各种想法了。但是很难找到能在“产品层次”做出需求决策的大型项目。

扩大改变的最有效的做法就是“设定正确的例子,不要试图取代所有人的工作”,前国防部长Carter说。“这并不是只要让人们干活就能做好的事情。”但用例子作为先导还不一定够用。“我们相信,在当权者做技术方面的决定时,技术人才需要在场。”国防数字服务的主任Chris Lynch说。“做不到这一点,最终就会造成我们现在的这种局面。”

“希望我们只是枪头上的尖。”Sanders说,“国防部已经开始重新审视我们在软件和硬件两方面的需求分析过程、预算和采购过程。”卡塞尔线诞生于战争的危机和偶然中。关于迅速行动和快速迭代的能力,AFCENT的当值主席Drowley说:“当局授权给我们,因为我们现在就相当于战时指挥的命令。”

但我们不需要重新思考五角大楼在战争时期的做法,不需要为军队的最尖端的战斗机做个新的UI。我询问了国防创新委员会他们是否认为有必要创造新的战争机器,以便在和平和战争时期保持最尖端的创新,结果得到的答案很有意思。

“好久没有这么长的和平时期了。”他们说。但正如一名委员会成员在了解到AOC的软件无法简单地修复时所说的那样,这句话不可能是正确答案。

原文链接:https://www.fastcompany.com/40588729/the-air-force-learned-to-code-and-saved-the-pentagon-millions

作者:Mark Wallace,住在洛杉矶,纽约时代、纽约、连线等杂志撰写文章。

译者:弯月,责编:胡巍巍


征稿啦

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱([email protected])。


————— 推荐阅读 —————


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK