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


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

  • 相关阅读:
    D语言中的Range与C#中IEnumreable的区别
    D语言中使用Curl读取网页
    在D语言中如何调用Windows中的COM控件
    D语言反射
    D语言基本类型判断 traits.d
    Struts2 XML验证器
    (十四)Struts2 验证框架
    (十三)Struts2 发送电子邮件
    (十二)Struts2 数据库访问
    (十一)Struts2 文件上传
  • 原文地址:https://www.cnblogs.com/shihao/p/3006980.html
Copyright © 2020-2023  润新知