Jazz 是一个可伸缩可扩展的团队协作平台,用于无缝地集成软件生命周期中的任务。

我们为何需要 Jazz 平台?

在团队中开发软件就像是在乐队中演奏乐器。每位乐师都必须演奏好他或她所负责的部分,同时确保音调和进度与其他乐师保持同步。他们必须对交流方式达成一致意见,并且必须对他们之间交付的信号加以注意,否则表现就会大打折扣。完美的协作和个人演绎水平都必不可少。同样,软件开发者必须把注意力集中到构建高品质代码以及对他们的活动进行协调,以使所有各部分代码能够完美地结合。

Eclipse 之类的集成开发环境(IDE)在提高个人生产力方面取得了巨大成功。但是,开发者仅仅像是编写他们自己的代码一样主动地参与团队的工作。这就是我们推出 Jazz 平台的原因,即,将焦点从个人生产力转移到团队生产力。

转移焦点的案例

请考虑团队在跟踪和修正一个假设错误时完成的工作。修正错误的工作在团队中流动,首先从发现并报告问题的 Mike 流向 Rick,后者复审传入错误报告并将工作分配给 Susan,Susan 更正错误,最后将结果返回给 Mike 进行验证。错误修正本身也在团队中流动,即,从修正代码流问题的 Susan 流向 Mike,后者负责在包含该修正的构建中验证该修正。

错误流向

这些流向可能相当脆弱。如果检入修正但未更新错误报告,或者不存在用于将该修正连接到特定代码流和构建的链接,那么团队中的流向将中断。这种中断将在团队中引起混乱并影响工作进度。更恶劣的情况是,这种中断可能不会立即被团队中的任何人察觉。此外,与域相关的工作(例如,为软件产品编写代码)和主要用于保持与团队协调的工作(例如,将错误标记为“已修正”)相交错。

虽然 IDE 集成了多个工具,但开发者仍需手工完成大量的重复性簿记工作,此工作对于保持团队成员有效地配合工作而言十分关键,但也很容易被遗忘或者发生错漏。如果 Susan 可以方便地告诉 IDE 她正在修正特定的错误,那么情况将会好得多。然后,当她完成修订和测试用例时,她可以指示工作已完成。她不需要执行其他操作,系统将落实已变更的文件并使它们与错误报告相关联、更新构建备注并将该错误报告标记为“已结束”。如果工具能够以此方式自动完成簿记工作,那么就可以确保错误报告与代码检入之间的重要连接保持可靠,从而帮助团队更有效地工作。同时,这还能够通过自动完成沉闷而易出错的簿记工作来提高团队成员个人的工作效率。

Jazz 平台填平了鸿沟

Jazz 是适用于整个软件生命周期的团队协作平台,旨在支持无缝地集成软件生命周期中所有各阶段的任务(前面的示例场景已涉及此生命周期内的几个常见任务)。Jazz 平台的设计在客户机端和服务器端都实现了可扩展性,并且其规模既可以是非常小的团队,也可以是大型企业安装。它结合了“受工具支持的过程指引”这一概念,即,工具理解团队的开发过程并帮助团队成员遵循此过程而不是妨碍其演进。

Jazz 平台的意图不仅仅是集成现有的点工具,还希望提供一个平台以便您基于此平台构建集成度远超以往的生命周期工具功能。以此方式对生命周期内的各个开发工具进行集成后,就有可能通过一组相互嵌合的解决方案来完成不可思议的任务。这种集成式端到端工具可以帮助团队更有效地构建软件以及使软件开发活动更有乐趣。

Jazz 是可感知过程的平台

Jazz 平台意图在整个软件开发生命周期内提供全面的支持。团队成员一致同意遵循的过程是其中一条贯穿项目所有各阶段的线索。通过让 Jazz 平台了解此过程,此平台就能够以特定于过程的方式为团队提供帮助。此过程支持可以具有各种完全开放的形式,它可以是快速的规则检查,可以是提供联机(例如 F1 键)过程帮助,也可以是自动完成簿记。Jazz 平台通过下列方式来支持过程:

Jazz 平台的设计和构建目的包括:

Jazz 平台的主要角色是,为工具编写者提供所需使用的机制以及要遵循的规则,以便无缝地集成生命周期工具。这些机制通过定义完善的 API 公布。Jazz 平台还提供了十分有用的构建块和框架,使您能够方便地开发新工具。