技术开发 频道

欲善敏捷开发 先利敏捷工具

【IT168 技术评论】

  敏捷开发的潮流并不是由敏捷工具来推动的。因为你可以仅使用命令行接口、单元测试工具和需求卡片来展开敏捷开发。但近年来,为了更好地支持敏捷开发,敏捷工具也有了很大的发展。其中部分工具是直接面向新型项目管理方式的。

  特别是有些种类的工具已与敏捷开发密不可分。根据Forrester研究公司(Forrester Research)高级分析师Carey Schwaber的研究结果,面向敏捷开发的项目管理工具、持续集成构建工具和自动测试工具已是敏捷开发不可或缺的工具。

  她在《敏捷过程研究(The Truth About Agile Processes)》的报告中指出,“敏捷开发团队将投资主要用于其团队所必需的工具,其中最先考虑的是敏捷项目管理工具,然后依次是测试工具、构建管理工具和软件配置管理工具。”

  Schwaber还表示,各敏捷团队都有自己的管理方式,因此,他们对项目管理工具也有不同的需求。尽管如此,仍然有些团队仅靠电子表格和WIKI进行管理。不过Schwaber等人也指出,当敏捷成为大型团队开发进行大型项目的主流开发方式时,这些自己临时组织起来的技术将难以满足需求。

敏捷开发催生敏捷工具

  敏捷开发在20世纪90年代晚期随极限编程(Extreme Programming,XP)运动而兴起。极限编程主要是关于单元测试、结队编程和简化的需求采集的运用,当然也有人会说极限编程还包括大量的提神饮料。

  诸多的项目失败是促使极限编程出现的原因之一,比如无法准时交付产品,或者虽然成功交付却因为产品不符合客户需求而不能投入使用。牵涉诸多预先分析和建模的统一建模语言(UML)和统一开发过程(RUP)的发展也是极限编程形成的原因。

  可以认为,2001年的《敏捷宣言(Agile Manifesto)》是对敏捷过程最好的阐释。在某种程度上,敏捷过程将极限编程系统化,为敏捷开发提供了参考标准和价值,并减轻开发人员面对需求变化时的压力。

  基本上,这是一个致力于寻找缩短交付间隔,并增加迭代频率方法的敏捷潮流。团队有权限自行设定交付期限。交付可以使用的软件是最为重要的目标,而预先建模和需求采集阶段则要求尽量简单。并且,需求采集并不是在项目早期便结束,而是会在项目开始后很长时间内一直进行的过程。

  正因为以上原因,单元测试在敏捷开发中变得尤为重要。这样,在持续集成软件单元时仍然可以迅速分析漏洞。而且,有效的自动构建工具也成为敏捷工具的组成部分。因为持续的迭代开发意味着经常要进行快节奏的集成。授权给开发团队可以开阔项目开发思路,也使增强的项目管理软件在敏捷开发中得以发挥更重要的作用。

  Forrester的分析师Schwaber称这种新兴的项目工具为“面向目标的敏捷项目管理工具(purpose-built Agile project management tools)”。她重点提到在这一领域有代表性的敏捷工具开发商:Rally软件开发公司,VersionOne和ThoughtWorks工作室。她还指出,目前已有可用的敏捷模板,比如Conchango公司的Scrum模板便是Microsoft Visual Studio Team System开发平台的杰出插件。

最新敏捷工具一览

    2007年,敏捷项目管理工具开发商都忙于新产品的迭代开发以满足其敏捷客户的需求。这些产品支持新的工具插件,增强需求处理功能,并且:

  • Rally 2007.7版本支持用户需求的筛选、扩展的筛选标准、改进版本剩余时间表、新的通知规则(notification rules),以及用于Eclipse和CruiseControl.NET的连接器。
  • TargetProcess 2.6添加了列表即时编辑功能(inline editing in lists)、新迭代规划(iteration planning)功能和Visual Source Safe集成。
  • VersionOne V1最新版本中增加了第三方开源集成工具Subversion和FitNesse。

    著名的IT咨询公司Thoughtworks也开始进入这一领域。2007年10月,公司发布用于敏捷软件开发的Mingle 1.1。虽然在第一个版本发布仅三个月就发布新版本,但公司声称这个版本可以更好地帮助项目团队进行规划、追踪、优先分级和协作。Mingle 1.1中的日期属性有助于对需求、漏洞和任务进行追踪和划分优先级。并且,这个版本扩展了需求卡片(story card)的筛选范围,还增加了对远程Subversion知识共享库的支持。

    IBM的Rational工具组有时会受到敏捷拥护者的指责,特别是对其Rational统一开发过程(Rational Unified Process)的指责。因为人们普遍认为它是一个自上而下的过程,这会增加一线开发人员的工作负担。2006年,为传播敏捷方法,敏捷传道者Scott Ambler加入IBM公司。然后,2007年,IBM发布其努力的成果——Jazz开发平台。

    设计模式(Design Patterns)领域最有影响力的拥护者,目前也在IBM进行Jazz开发的工程师Erich Gamma说,Jazz延续了IBM Eclipse的成功。最终,这个新软件将提供对定制过程的支持。他说,“在开发Jazz的过程中,我们发现各团队都采用各自的过程,比如不同的开发方式,来处理规则变化。”

    目前,Jazz仍然是一个(功能有限的)测试中的技术,但IBM公司已经展示了以Jazz技术为基础开发的主要用来提高团队开发效率的IBM Rational Team Concert协作平台。

0
相关文章