敏捷开发在政府机关应用探讨.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
敏捷开发在政府机关应用探讨

敏捷开发在政府机关应用探讨   【摘 要】敏捷开发可以应对客户快速变化的需求,它强调以人为核心、采用迭代的方式、循序渐进地开发软件。笔者所在的政府机关小型开发团队近年来对敏捷开发方法有选择地进行了应用,在测试驱动开发、小版本发布、任务投票等方面取得了一些经验。   【关键词】敏捷开发;政府机关;应用   1 敏捷开发的出现和特点   1.1 敏捷开发的出现   传统的软件开发方法定义的过程往往大而笨重,降低了软件开发团队的开发效率和响应变化能力,形成了过程膨胀即“过程泥潭”。2001年初,由于看到许多公司的软件开发团队陷入了过程泥潭,一批业界专家一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值观和原则:个体和交互胜过过程和工具、可以工作的软件胜过面面俱到的文档、客户合作胜过合同谈判、响应变化胜过遵循计划,这就是“敏捷宣言”。   敏捷开发的方法很多,有极限编程、Scrum、特征驱动开发、自适应软件开发等。敏捷开发可以应对客户快速变化的需求,它强调以人为核心、采用迭代的方式、循序渐进地开发软件。在敏捷开发中,软件项目被切分成多个子项目,各个子项目的成果都经过测试并可以随时投入运行。敏捷开发要求项目团队全体成员之间形成更加有效的合作关系,使其灵活性更高,以适应不断变化的需求。   1.2 敏捷开发的特点   与传统的软件开发方法相比,敏捷开发主要有两个特点。   1.2.1 敏捷开发是面向人的而不是面向过程的   敏捷开发认为,人是软件开发中最重要的因素,而且人工作的环境很复杂。它强调软件开发应当是一项令人愉悦的活动,因此更加注重调动人的积极性、主动性和创造性,并培养人在工作中的自豪感。敏捷开发的理念就是信任项目团队能够很好地完成任务,所有的管理都是围绕这个理念展开的。敏捷开发的目的是建立起一个项目团队(包括客户、需求分析人员、设计人员、开发人员、测试人员等多种角色)全员参与到软件开发中。只有这样,软件开发流程才能在项目团队中得到最广泛的接受。敏捷开发还要求开发人员在技术上进行自主决策,因为开发人员是最了解什么样的技术是需要或不需要的。   1.2.2 敏捷开发是“主动适应的”而不是“预先设定的”   传统的软件开发方法试图对一个软件项目在很长的时间跨度内做出详细的计划,并形成详细的文档,然后依照计划进行开发。这类方法在计划制定完成后往往拒绝变化,后期的需求变化将会花费极大的代价。敏捷开发则乐于迎接变化,其实,它的目的就是成为更适应变化的软件开发流程。   据统计,很多软件产品提供的功能中,客户常用的功能只占20%左右,其他大部分功能是客户很少使用甚至基本不用的。在这种情况下,采用传统的软件开发方法所设计出的功能,其实很多是不必要的,也将浪费很多资源。敏捷开发则要求客户始终参与整个开发过程,这使得项目团队可以不断地获得客户反馈,不断地适应需求的变更,从而使最终的产品充分符合客户的要求,也极大地减少了资源的浪费。   2 敏捷开发在政府机关的应用探讨   由于条件所限,笔者所在的政府机关从事软件开发的技术人员较少且大多不是专职,往往身兼系统运维、科技管理等其他工作,因此政府机关的软件开发往往具有团队规模微型化、开发时间碎片化、项目文档简单化等特点,瀑布模型、RUP等传统的软件开发方法已不能适应政府单位软件开发的需要。笔者所在的小型开发团队近年来对敏捷开发方法有选择地进行了应用,在测试驱动开发、小版本发布、任务投票等方面取得了一些经验。   2.1 测试驱动开发   作为敏捷开发最重要的组成部分,测试驱动开发要求实现的每一个业务功能都是从测试开始。开发人员首先对需求进行分析,将需求分解为一个个用户故事,然后根据用户故事,从需求的角度来编写测试代码(主要是单元测试、功能测试),最后依据测试代码来编写业务功能代码。   如果没有测试代码,就不能编写业务功能代码。先写测试代码,能够让开发人员明确目标,就是业务功能代码通过测试。当然通过测试并不是结束,测试覆盖率分析工具还可以直观地显示测试未覆盖到的业务功能代码。在测试没有100%覆盖业务功能代码之前,尽快完善测试代码显得十分必要。   测试驱动开发还方便了代码的重构。重构是在不改变系统外部行为的前提下,对程序代码的内部结构进行整理优化,使得代码尽量简单、易读、可扩展。值得注意的是,敏捷开发中的重构对代码的每一次改变要尽可能小,并用单元测试来验证重构是否引起冲突,并且要求不仅对业务功能代码进行重构,如果测试代码中有重复,也要对它进行重构。   刚开始推行测试驱动开发时,我们的开发人员觉得花费了不少时间在编写测试代码上,项目开发进度不是很快,还不如多花些时间在编写业务功能代码上。不过随着项目开发的不断深入,开发人员发现如果一个业务功能的

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档