再谈Jazz与敏捷:全球性的分布式开发
作为一种以人为核心、强调迭代与循序渐进的开发方法,敏捷开发(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的流程具有可定制的特点,开发团队可以按照自己的需求订制。