【IT168 专稿】
本文是Rational软件技术征文大赛(http://tech.it168.com/focus/200903/rationalgame/index.html)参赛纪念奖作品。
作为一种以人为核心、强调迭代与循序渐进的开发方法,敏捷开发(Agile development)正在被越来越多的公司所采用并对提高软件生产效率、降低软件开发成本等方面产生了积极的影响。
敏捷开发本质上是一种开发理念与开发方式,它对开发工具没有任何强制性的要求。简单的命令行工具与单元测试也可以实现敏捷开发,只要我们自己足够“敏捷”。但工欲善其事,必先利其器,好的开发工具对于敏捷开发会起到事半功倍的效果。近年来涌现出了一些能够很好支持敏捷开发的工具,而Jazz以及基于Jazz平台的一些列工具就是这其中之翘楚。
在Tom DeMacro与Timothy Lister的软件开发巨著《人件》一书中,两位大师提到“人与人之间的交互是复杂的,并且其效果从来都是难以预期的,但却是工作中最重要的方面”。沟通与交互向来是软件开发的重点与难点,同时也是敏捷开发最为关键的原则之一。因为,在敏捷开发看来“个体和交互胜过过程和工具”。
作为Agile开发的利器,提升开发团队的沟通与协作水平是Jazz首要目的。Jazz继承与发扬了Eclipse平台可扩展性的特点,它提供了软件开发周期各个阶段以及不同开发人员所需要的各种不同功能,这其中包括需求管理、进度管理、开发平台、缺陷管理、代码版本管理、测试自动化以及即时通信等工具。这使得项目经理、架构师、开发人员、测试人员以及维护人员都可以工作在同一个平台上,这就大大的降低了沟通与协作的代价并提高了沟通与协作的效率。
Jazz扩展性还在于,它本身提供了需求管理、进度管理、开发平台、缺陷管理、代码版本管理、测试自动化以及即时通信等功能的同时,并没有限制集成何种软件来实现该功能。比如,可以使用开源的Apache Derby作为存储数据库,也能使用IBM DB2这种商业数据库。只要符合Jazz规范,任何一种工具都可以无缝的继承到Jazz平台中。
对Agile的支持还体现在Jazz能够很好的支持全球性的分布式开发。对分布式开发团队的支持是Jazz的另一个重点。基于之前在Eclipse平台上的开发经验与教训,Jazz内置了名为EclipseWay的一种开发流程,它对分布式开发有很好的支持。不仅如此,Jazz的流程具有可定制的特点,开发团队可以按照自己的需求订制。
此外,Jazz具有强大的报表功能。Jazz可以根据项目的进展状况生产各种报表。报表不仅可以使得项目负责人从整个项目的管理和风险控制的角度查看项目的当前的状态,而且对Agile开发也有现实意义。比如在scrum方式中,报表对于任务优先级别评估与分配具有参考意义。
总之,Jazz及基于Jazz的协作平台在很好的支持了Agile开发思想的同时,其高效的团队协作与沟通方式、集成统一的工作环境及方便的扩展与报表能力必然能大幅提高软件开发的效率,设计开发出符合市场需求的好的软件产品。