公共单位中的敏捷实施:FBI 和鹿特丹港

阅读数:871 2013 年 4 月 2 日

话题:Scrum架构文化 & 方法

公共单位正在越来越多地使用敏捷方法,从而满足在可用的预算和时间条件下开发软件的需求,并在面对不断变化的需求时变得更加灵活和实用。本文通过对公众领域如何采用敏捷方法作为其需求的解决方案进行了探索,并通过两个案例分析展现了敏捷开发如何运用于 FBI 及荷兰的鹿特丹港。

在这篇来自于计算机世界政府 IT 新闻(栏目)的文章《随着预算的削减,联邦政府转向敏捷开发》中,高级编辑Patrick Thibodeau表示,美国联邦政府机构有必要使用敏捷软件开发方法:

IT 经理正在通过转向敏捷开发来加速项目并快速体现他们的价值。大型、笨拙、多年期的政府 IT 项目的日子正在缓慢地面临终结。

(联邦政府)机构的预算被削减,由于年度预算尚未批准,所以他们必须在短期预算下运作。这些预算方面的不确定性驱动政府机构寻找新的途径来规划和管理他们的 IT 项目:

敏捷方法论强调开发者、管理者与客户之间的协作——任何一个与项目产出相关的人——随着迭代开发周期以较短的增量方式产出交付成果。

Matthew Weigelt 和 Camille Tuutti 在FCW上描述了如何通过敏捷开发帮助公共单位管理好演进的需求。文章《开始敏捷实践?让你的 IT 经理们做好准备》以阐述在传统“瀑布”模型中那些他们认为必须被处理的问题作为开始:

联邦 CIO Steven VanRoekel 和联邦采购政策办公室管理员 Joe Jordan 于 2012 年 7 月在 OMBlog 中写道:长久以来,政府被失控的 IT 项目拖累,损失了数十亿美元并滞后于进度计划。而当一些技术创新发布时,它们(失控的项目)便只能被放弃。

“在许多情况下,这些失败可以追溯到漫长的收购,以及多年来为了交付大规模新系统而在 IT 开发上作出的努力,而不是以增量的方式提供新的功能——如同私营单位那样”,VanRoekel 和 Jordan 写道。

敏捷开发能够帮助政府机构更好地管理其软件项目:

敏捷开发使项目更快发布“而不是对它分析过度并构建一些客户不需要的东西”,

敏捷开发的另一个重要方面,是为用户提供了在项目中识别问题的机会,而且还有机会来解决这些问题。通过选择敏捷开发,官方能够接受与政府内外部利益相关者持续沟通的重要性,从而吸收变更并解决任何变更带来的问题。

Jason Bloomberg 在CIO.com上发表的文章《FBI 如何证明敏捷方法适用于政府机构》展示了一个公共单位使用敏捷方法的例子。它描绘了 FBI 的哨兵项目是如何通过使用敏捷软件开发方法论来调头走上正轨的:

[FBI 的 CIO Chad Fulgham] 选择将项目切换到了由长度为两周的 sprint(scrum 的一个核心最佳实践)组成的迭代 Scrum 方法。尽管错过了最初拟定的 2011 年 9 月这个截止期限,但 Fulgham 的团队仍然使项目处于掌控之中,并成功在调整后的 4.51 亿美元预算内完成了项目,这应该归功于敏捷开发。

Jason 援引了一份报告,其中政府问责局(GAO)调查了若干美国政府机构的敏捷方案。这份报告的内容在此前 InfoQ 的《政府敏捷实施指南》中已经介绍过。

John Foley 也在《FBI 的哨兵项目:学到的五点经验》中描绘了敏捷开发是如何帮助 FBI 的。来自该项目的经验之一是“敏捷开发能够使事情完成”:

其思路是,一个亲身实践的增量方法之所以更快是因为在两周的“sprint”中,功能得以实现,调整得以完成。FBI 错过了它的目标完成期限——2011 年 9 月——但最终任务能够完成应该归功于敏捷方法论。

另一个来自 FBI 项目的经验是敏捷开发能够帮助政府省钱:

[Fulgham 和 Johnson] 将项目维持在给定的预算内(……)敏捷开发不仅更快,而且更便宜。

另一个公共单位敏捷实施的例子来自于荷兰。Mark Chillingworth 在CIO.co.uk上发表的文章《CIO LourensVisser 将鹿特丹港的系统管理得井井有条》,展示了如何使用敏捷方法开发用于管理鹿特丹港的软件。他引用了 CIO LourensVissers 的话,解释了改变 IT 管理方式的需求:

“当提出港口的愿景计划时,我感到我们必须为其谋划一个 IT 战略,而它也确实需要。之前的项目是基于先到先得方式的。维护预算也在持续增长,而我期望着革新,”

基于来自商业的要求,新信息系统的内部开发最终决定采用敏捷方法。

港口主管理和信息系统(HaMIS)取代了已经使用了 19 年的解决方案,该系统的开发也许是 Visser 这次改革的最大成果。HaMIS 由 Visser 团队于内部开发(……)开发团队采用了敏捷开发实践,并且为了保证产品的高质量,鹿特丹港与软件改进团体(SIG)达成了合作关系,而 SIG 担当了开发过程中 Java 代码的独立评审员。

敏捷实施促进了鹿特丹港 IT 部门与其内部客户之间的协作:

Visser 说,其中一个好处是 IT 部门现在与组织机构中的其他部分有了更多的互动。“我们拥有着一个混合文化,如同一个政府部门和一个咨询公司,我们还像是一个拥有许多资产的公用事业公司,”Visser 补充道。

查看英文原文Agile Adoption in the Public Sector: FBI and Port of Rotterdam


感谢赵震一对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。