美国军工是如何实施敏捷的呢?我会花点时间写几篇文章跟大家聊聊。今天先介绍美国国防部发布的DoD IT项目的敏捷使用指南,好比武功秘籍先讲修炼心法,相信这些敏捷导入考虑对5000组织会有借鉴意义。
美国军工敏捷背景
2017年对美国军工软件采购来说是重要意义的一年。美国国防部(DoD)发布了敏捷采购法案(Acquisition Agility Act),改变了以往软件采购模式,鼓励快速使用新兴技术,快速响应变化,通过增量反馈减少浪费,增加武器系统的互用性。
软件定义装备是美国军工的共识,1970年20%的装备功能是由软件实现的,到了2000年,这个比例已经增加到80%。虽然有了些进步,但是无论从成本到进度,DoD的数据都让人郁闷:48%的项目在实现IOC(initial operational capability - 初始可操作能力)之前,至少有2次预算追加。进度更是槽糕,平均延时21个月,有12%的项目IOC交付延时达四年以上。国内的军工可以自行对照此数据,说多了都是眼泪。
十多年前,DoD开始将目光投向如火如荼的敏捷革命,逐步开始军工软件的敏捷尝试,希望能够改变软件开发的现状。2009年,DoD发布了敏捷采购过程(见下图),军工朋友好熟悉的感觉有没有?

不久,DoD发布了IT项目敏捷实施手册,其中给出了11条敏捷实施指南。
1.敏捷转型决策
导入敏捷之前,首先确定组织内哪些项目的全部或部分适用何种开发模式。需要考虑和分析的因素包括:项目需求和技术的稳定度,关键安全要求,可用资源,组织文化,客户和干系人的承诺和参与程度等。在此基础上确定适用于敏捷的项目类型,通过引入敏捷实践增加项目成功的概率。
2.选择适用的方法
敏捷方法不是0和1的选择(要么不选,要么全选),需要在众多方法中识别并选择出合适的实践。在实际操作中,往往需要把不同的方法结合在一起,包括传统和敏捷的结合。重要的是找出适用于项目独特性的开发过程。
3.新开发和集成
敏捷不只适用于新开发项目,所有软件密集系统的开发,如IT系统,嵌入系统和控制设备等,都可以借助敏捷。敏捷通过前期增量、频繁交付,干系人的持续介入完善产品质量。不论是新研项目还是维护项目,敏捷原则都可以帮助我们提升产品质量和用户满意度。
4.“完成(Done)”的定义
传统项目的完成(Done)往往意味着所有代码已经通过测试,相应交付文档全部完成。在敏捷中,完成的含义则由具体场景决定。在迭代计划中,清晰定义“完成”的标准并达成共识。
5.敏捷培训和敏捷教练的使用
敏捷项目成功的一个重要因素是整个团队都有敏捷经验,业界数据显示,敏捷失败的主要原因是团队成员缺乏敏捷经验,这个团队不仅包括开发,也包括管理。基于这个原因,项目计划应该识别敏捷培训需求并制定敏捷培训计划。对一个没有经验的团队来讲,聘请一位好的敏捷教练可以推动敏捷导入过程。
6.分布团队
团队成员分布各地不是最优项目模式,但有时是唯一模式。它大大增加了敏捷难度,在这种情况下,好的沟通、协调工具是成功的关键因素之一。
7.大项目的规模化敏捷
大项目往往包含多个子项目,团队间的沟通策略可以决定项目成败。在选择项目过程(可能是多个过程)和沟通策略时,一定要确保和项目特点一致。
8.组织内部的敏捷
IT项目不再仅是单一部门的事,不同部门、组织的有效协调变得至关重要。仅在项目中敏捷,而组织不做改变不可能有成功的敏捷转型。项目计划应该列出所需外部资源以及相应的协议,及时和相关团队、管理人员沟通、协调是管理的关键活动之一。
9.敏捷的风险管理
风险管理是敏捷开发自带的有机体,频繁沟通,频繁计划调整,需求优限级的选择都增加了项目的透明度。根据项目规模、安全要求、可用资源,团队需要形成一个正式或半正式的风险缓解方式,所有成员都应该是活跃的风险规避、缓解的参与者。
10.敏捷合同
对于不确定性较高的项目,DoD需要使用不同的合同方式。经验证明,小规模合同往往能增加项目成功概率,另一方面,合同条款要鼓励合作关系。
11.CMMI和敏捷
CMMI已成为竞标军工项目的标准要求,敏捷和CMMI的关系往往被许多人误解。二者其实是互补关系,敏捷完全可以在CMMI组织内推广落地。
我一直强调价值驱动的敏捷(或叫其他名字)开发,形似神不似的敏捷比比皆是。不是把坐着开会改成站着开会,用贴纸把任务放到板上你就敏捷了,你的武器库不仅只是Scrum,XP等一些经典敏捷套路,而是所有能帮助你解决问题的做法都可以融入到你的“敏捷”中去。在军工项目上,不会有类似互联网的敏捷,一般往往是计划驱动+迭代的模式。CMMI/5000就是要成为敏捷的安全网,二者的结合会带来意想不到的效果。(来源:老丛讲桌)
相关推荐
解决usbisp不识别无法烧录Atmega328P,Arduino不识别问题
如果使用Arduino IDE里面的烧录,可能会遇到一个问题,就是不识别国产这种廉价的USBISP 点击烧录引导程序,会遭遇到找不到USB设备的问题,选哪个都会提示找不到,比如选择USBasp could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp' 因此,我们需要使用到progisp这一个软件的1.72版本 选择好芯片的型号后,调用编译好的HEX文...
军工企业敏捷项目管理
如今社会飞速发展,受社会发展的影响,军工企业也开始了军民融合。在如今的形势下增强军工企业的项目管理是军工企业的必然选择,而且项目管理是一套科学管理方法体系,是项目建设的重要组成,它决定着项目能否获得成功。随着科技的不断发展,我国的军工企业已经形成了自己特有的项目管理制度和规范,这对军工企业的管理具有重大影响。本研究主要研究我国目前的军工企业项目管理在信息化项目中的应用。 ...
告别Vysor!用Scrcpy在Mac上无线投屏安卓手机(附魅族16th闪退修复实战)
本文详细介绍了如何在Mac上配置和使用开源投屏工具Scrcpy,实现安卓手机无线投屏的高效解决方案。从基础环境准备到高级功能调优,包括无线连接配置、输入控制增强、多设备管理和性能优化等实用技巧,特别针对魅族16th等机型的闪退问题提供了修复方案,帮助用户彻底告别Vysor等商业软件。
十年前,“软件定义一切”被提出来,今天它意味着什么?
为进一步扩大会议影响力,对会议品质和服务进行升级,特展开本次调查。软件定义网络(Software Defined Network,SDN)起源于2006年,斯坦福大学的Clean Slate课题组提出了一种新型网络创新架构,它可通过软件编程的形式定义和控制网络,其控制平面和转发平面分离,使网络设备的控制面可直接编程,被认为是网络领域的一场革命。伴随软件业务的发展,这对软件定义的发展提出更高的要求,需要充分释放软件定义创新活力和驱动力,以强化产业创新发展能力,不断探索,打破原有瓶颈,在关键领域上实现突破。
微搭低代码实现用户登录及注册功能
在小程序开发中,我们可以拿到微信用户的openid,openid可以作为用户的唯一标识,在查询数据的时候可以进行数据过滤实现查询自己提交的数据。那微搭中是否也有openid这个概念,可以获取用户自己提交的数据呢? 答案是肯定的,那要怎么去做呢?思路是先创建一个数据源方法,在数据源中返回openid,然后低代码中可以调用数据源的方法并且赋值给全局变量,这样在后续的业务中从全局变量就可以获取openid了,方便做数据权限的控制。 为了实现这个目的,我们从创建数据源开始。 创建数据源 我们先创建一个用户管理的数据
(4-2)A*
实际已经花费的代价(g(n)):从起点到当前节点n的实际路径代价。启发式估计的剩余代价(h(n)):从当前节点n到目标节点的估计路径代价。这是A算法的关键之一,启发式函数要足够接近实际代价,但又要高效计算。如果启发式函数等于0,A算法就相当于Dijkstra算法。实现A*算法的核心步骤如下所示。(1)初始化:将起点加入开放列表(open list),并将其f值设为g值和h值的和。(2)循环:从开放列表中选择具有最小f值的节点作为当前节点。如果当前节点是目标节点,算法结束;
aPaaS软件工厂--军用作战软件敏捷研发模式与启示
6)任务/需求敏捷响应效能(C6):是衡量敏捷研发能力的直观指标,针对突发需求变更、软件故障和研制要求等,任务/需求敏捷响应效能包括研发团队完成的软件质量、研发效率(交付速度)和核心需求满足度(业务价值)3个方面,其中,衡量软件质量的指标有发布缺陷情况和测试通过率等,衡量交付速度的指标有缺陷有效解决时长和需求更新周期等,衡量业务价值的指标有核心需求完成度和业务流满足度等。最后,将软件工厂视为敏捷研发模式的落地实践,提出了相关参考架构、敏捷研发能力评估和启示,并对军用软件敏捷研发关键技术进行了总结。
Python在振动信号处理中的应用(一):振动信号消除多项式趋势项
文章目录一、概述二、最小二乘法去除趋势项原理三、python模块介绍3.1 scikitlearn简介(1)转化器(Transformer)(2)估计器(Estimator)3.2 线性回归LinearRegression3.3 多项式PolynomialFeatures3.4 工作流Pipeline四、python代码实现4.1 构造模拟信号4.2 编写去除趋势项主代码4.3 展示算法效果五、TIPS 一、概述 在振动测试过程中,传感器或采集设备由于自身性能问题或受环境干扰(如温度、供电等影响),容易
美国国防部(DoD)计划采用敏捷开发
在Jeff Sutherland博士的帮助下,美国国防部(DoD)计划采用敏捷开发。Jeff Sutherland博士是Scrum软件开发过程的发明者和Scrum公司的首席执行官。\美国国防部启动了一项名为“美国国防部信息技术现代化”的计划,敏捷开发的启动被列为此计划的其中一项议程。\尽管大部分部门还没有接受敏捷开发,美国国防部首席信息官已经建立了如下的现代化计划:\美国国防部CIO关于IT现代化...
PCL K4PCS算法实现点云粗配准【2026最新版】
K4PCS算法实现点云粗配准。博客长期更新,本文最近一次更新时间为:2026年5月4日。
iOS应用突然无法从App Store获取到内购(IAP)产品列表的解决
问题现象 Apple开发中,在应用中嵌入内购(IAP)功能的小伙伴们可能会发现,吃着火锅唱着歌,突然App就无法获取到产品列表了,而且产品请求操作并不会返回任何错误。 此时检查发现,并没有对App的内购逻辑做任何改动。 那么,这是什么原因导致的呢? Let’s find out!???? 问题分析 1. 排除其它原因 首先,你先得排除不是你IAP内购逻辑变更或其他原因导致的。 在SKProductsRequestDelegat代理实现的productsRequest方法里下断点: func produc
敏捷开发一千零一问系列之十五:同时实施CMMI和敏捷哪个为主?
这是敏捷开发一千零一问系列的第十五篇。(在这里提问,之一,之二,之三,问题总目录)也是敏捷与CMMI系列的第三篇。(总目录)问题原来问题是这么写的:“一家企业既要过CMMI,又要过ISO,还要实施敏捷,应该怎样做?”之所以改成“哪个好”,是因为如果要多头并存,就要有主次关系。那么,到底哪个好,应该以哪个为主呢?分析每次说到这个问题,都会有不同的角度可以分析。一个常见的角度是说:CMMI比...
Intellij IDEA 使用教程(一)Jdk安装和配置
一.JDK下载 这里下载的是Java SE 8u181 64位版本。可以根据自己电脑配置来选择不同版本。 官网下载JDK 二.安装JDK 双击运行jdk-8u181-windows-x64.exe安装程序 选择安装目录,然后点击下一步 等待安装 安装JRE,就是java的运行环境,可以安装在java目录下 等待安装 安装完成。点击关闭。 三.java环境变量配置 关于环境变量的配置,...
敏捷开发为何难有“最佳实践”
虽然最早来源无从考察,但将最佳实践(Best Practices)一词发扬光大的无疑是CMM/CMMI。 以本人接触的先后顺序,CMM是在2001年同方听到的,而极限编程(那时候基本上还没有Scrum)也是同时听到的,所以算是同一时期的东西。但是为何10年来,“最佳实践”在CMMI界很流行,敏捷开发却很少提到这个词汇呢? “这只是词汇问题而已。”同意,也不同意,表象之内,...
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
敏捷开发般若敏捷系列之七:重新认识敏捷与CMMI
这是敏捷开发般若敏捷系列的第七篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九) 重新认识CMMICMMI其实是一种敏捷开发方法,何以见得?CMMI是由美国军方的甲乙双方密切配合产生的国防部招标标准,在美国国防部招标的时候使用这个标准,既没有多余的让某方别扭的,也没有缺少的让某方担心的。CMMI还是不断改进的,一个涉众如此之广的产品能以这个速度改进,已经很难得了。在招标过程中发现问题,随...
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
【优快云博客之星】专访陈勇: 敏捷开发现状及发展之路
原文出处:http://www.youkuaiyun.com/article/2013-03-05/2814348以下是文字拷贝,与原文相同,留作备份。摘要:敏捷这个含着金钥匙诞生的“霹雳娇娃”是软件开发行业的救星,从头到脚、从里到外无不闪着金光,透着与众不同。但国内少有团队能真正理解其精髓和奥秘。为此,社区之星第15期采访了敏捷开发老兵陈勇。他站在企业管理者的角度来讲解敏捷开发并分析的字字珠玑。陈勇,16年
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
敏捷开发智慧敏捷系列之五:定不定流程和模板?
这是敏捷开发智慧敏捷的第五篇。(之一,之二,之三,之四,之五,之六)缘起(立项时)甲:“你们的设计文档打算怎么写?”乙:“到时候再说。”甲:“应该有规范的开发流程和模板,才能写好设计文档。”乙:“预先定义的流程和模板未必适用,敏捷开发崇尚推迟决策,只有在具体工作之前才能决定是否写,怎么写最好(maximizing the amount of work not done)。”甲:“你们组才3个人,能
CMMI与Agile敏捷开发比较之二:需求管理篇(兼谈用敏捷实现和满足CMMI的ReqM过程域)...
作者:陈勇出处:blog.youkuaiyun.com/cheny_com这是CMMI与敏捷开发比较系列的第二篇(之一,之二,之三)。 CMMI前面在提到CMMI与敏捷的根本差异时提到CMMI是美国用于筛选其供应商的,而其项目的特点也在于大型团队/强分工/长周期,这样就不难理解CMMI为何提出了以下要求(基于CMMI V1.1):GP1:管理需求 SP1:与客户达成一致理解SP2:取得开发团队...
敏捷开发一千零一问系列之二:序言及解决问题的心法(无住)
这是敏捷开发一千零一问系列的第二篇。(在这里提问,之一,之二,之三,问题总目录)也是般若敏捷系列第十一篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九,之十,之十一,之十二)无住在般若敏捷系列中已经提过,包括不住于法,不住于空。不住于法就是不停留在一种固定的方法上。如果把“敏捷”理解成一个名词,就会出现一个问题:什么是敏捷?又会扩展成Scrum是敏捷,还是XP是敏捷?RUP是...
7436



被折叠的 条评论
为什么被折叠?



