在 Jeff Sutherland 博士的帮助下,美国国防部(DoD)计划采用敏捷开发。Jeff Sutherland 博士是 Scrum 软件开发过程的发明者和 Scrum 公司的首席执行官。
美国国防部启动了一项名为“美国国防部信息技术现代化”的计划,敏捷开发的启动被列为此计划的其中一项议程。
尽管大部分部门还没有接受敏捷开发,美国国防部首席信息官已经建立了如下的现代化计划:
美国国防部 CIO 关于 IT 现代化的 10 点计划瞄准近期最紧迫的一些挑战,并提出有效的方案以提供敏捷,安全,完整的 IT 响应能力。这一计划能够让美国国防部降低成本并提供更快的响应能力,同时提高协同工作的能力,提升用户的满意度和网络安全性,最终达成任务。
Jeff 在美国国防部采用敏捷开发网页上的一篇文章中提到政府希望从瀑布式开发方式转移到敏捷开发。新的美国国防部采购清单设定了一系列与敏捷相对应的原则,采购时必须遵循这些原则。采购的流程定义如下:
- 及早的、持续的用户参与
- 多重的、快速执行的增量或能力发布
- 及早的、持续的原型以支持演化方法
- 模块化,开放系统的方法
基本上,至少在美国国防部,敏捷已经成为法律。
Jeff 提出了美国国防部软件采购的两个模型。第一个模型一定程度上反映了瀑布式的开发思路,即将软件的部署置于多次构建之后。
第一个模型主要以满足复杂的、国防独有的软件程序的开发需求为主,这类软件程序通常需要完成多次软件构建后才能够部署。这种模型的核心特征就是有计划的软件构建——一系列可测试的整体能力的集成子集——这些构建与定义清晰的决策标准共同保证在提交后续的构建之前已经有足够的进展。
第二个模型则是关于软件的频繁交付。新的模型让美国国防部更加接近敏捷软件开发宣言的第二个价值观——工作的软件重于详尽的文档。他们也许还不能够满足敏捷软件开发宣言在几周或几个月内增量交付产品的原则,但这绝对已经是一个巨大的进步。
这个模型与前一个模型的区别在于能力快速交付替代了单一的里程碑和单一的完整部署,这种快速交付是通过几次有限的守备(limited fielding)获得的。每个有限的守备都源自一个特定的构建,并为用户提供成熟的经过测试的整体能力的子元素。满足被批准的增量能力要求通常需要有几个构建和守备。后续的能力所需的技术解决方案的识别和开发一定程度上会并行开展,这样可以更快的发起并执行后续的增量。
在他的一篇技术说明文档中, Will Hayes 为国防部的采购专员提供了关于编写需求方案说明书时如何使用敏捷开发的指导。
如果项目管理办公室(PMO)正在编写需求方案说明书,无论在哪个阶段,都要确保需求方案说明书中包含允许使用敏捷开发的措辞。多数情况下,传统的需求方案说明书的措辞基本不可能推荐基于敏捷的解决方案。
根据自己在美国国防部的敏捷实施经验,Jeff 发起了一门名为敏捷国防的在线课程。这门课程的基础是Scrum,敏捷和军队如何合作。如何在国防部的背景下处理敏捷采购和合同。这门课程既适合采购专员也适合承包商。
已退休的美国陆军上将McCaffrey 也非常支持在战场上实行Scrum。他分享了他对《 Scrum: The Art of Doing Twice the Work in Half the Time》这本书的看法:
不论他们领导的军队是在战场上还是在市场上,Scrum 这本书都是每个领导人必读的。当今世界所面临的挑战无法容忍迟缓无效的工作。非常快的速度,巨大的生产力和对于达成目标的坚定不移的承诺是成功的基础。换句话说,Scrum 就是成功的基础。
查看英文原文: US Department of Defense (DoD) is Going Agile
感谢杨赛对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论