技术开发 频道

Jazz,开放协作与开发即过程的前奏

【IT168 专稿】

    本文是Rational软件技术征文大赛(http://tech.it168.com/focus/200903/rationalgame/index.html)一等奖获奖作品。

    对于IBM Rational的Jazz平台投放市场的这条消息,我是要起立鼓掌的。我一直在思考软件行业将来会是什么样的。我欣喜的看到Jazz已经实现了我心目中的一部分愿景。尽管只是一部分,尽管现在还不能确定Jazz会否真的改变软件行业的将来,至少在我看来Jazz已经往我所憧憬的将来迈出了美妙的一步,也许将会是至关重要的第一步。在我而言,无论如何,Jazz的出现都是值得书写一笔的。在我所憧憬的未来里,“开放协作”和“开发即过程”无疑是两个最重要的主题。我之所以为Jazz鼓掌,原因就在于Jazz让我在这两个方面都看到了希望。

    “开放协作”或许已经不是一个新鲜的词汇了,但是至今为止,开放协作的真谛却从未真正在软件开发过程当中成功实现过。可能有人置疑,现在的软件开发都是在团队化运作了,这难道不是协作吗?在我看来,现在开发团队里的各个角色之间的互动仅能称为合作而非协作。两者之间的差异在于,合作是各司其职相互配合来做事情;而协作则是不分你我同做一件事情。在现在的开发团队里,设计师设计,程序员写代码,配置管理员打包,测试人员测试,实施人员安装,他们合作而非协作着完成一个项目。而各个角色所承担的工作之间基本没有开放可言,他们奉行的哲学是你只需要告诉我你要什么,不要管我是怎么做的,更不要干涉我内部的决策;他们相信只有有效的控制才能保证代码的稳定和可靠。

    真正的开放协作体现在Web2.0的世界里。例如Wiki,每个人都是贡献者,每个人都可以创造新的和修改旧的,不分你我。Wiki的成功让我们感受到协作的高效和巨大能量,这是任何一个负责编写百科全书的专家小组无法比拟的。因此在这里,我所说的未来的协作是指这样一个场景:在一个协作的平台上,任何人既可以是开发者,又可以是测试者;既可以是需求提出者,又可以是最终使用者;既可以是设计师,又可以是程序员……所有人在力所能及的范围内贡献着自己的力量而不被局限于某一个角色。Wiki和开源社区的成功证明了这样一个基本事实:在一个真正协作的平台上,有规则的向人们开放并不会导致混乱和不负责任的结果,而是恰恰相反。在我看来,在未来的协作场景里,一份需求、一个设计、一个问题的讨论不再局限在某几个人或某一个小组里 ,不再需要把文档发出去、反馈、修改、再发出去……这样低效的反复。不论是设计师、程序员、测试员、用户,都可以参与共同编写项目文档,就如同Wiki里的词条一样,经历无数人的共同编写以后,留下了最正确的那一个版本。

    尽管Jazz目前并没有完全提供这样的协作,也未必完全认同这种理念。不过Jazz的确是目前为止距离真正协作最为接近的开发平台。从Jazz采用的开发模式——开放商业软件开发模式(open commercial software development)可以看出这种开发和协作的倪端。Jazz.net允许客户在项目早期参与进来就体现了有效协作的精神。在这种开发模式下,客户不再被动的接受结果 ,他们可以成为设计的参与者、早期版本的测试者,甚至项目决策的参与者。

    尽管在Jazz平台里我们还不能够完全协作的同时做同一件事情,例如身处异地的开发人员和测试人员共同调试一段代码,至少Jazz这两个角色之间的信息是快速共享的。开发人员不必再每天切换到ClearQuest里查看defect状态,测试人员也不必再每日询问patch是否打好。Jazz让快速的信息共享成为可能,项目组成员不必再在众多工具当中切换来切换去的寻找需要的信息。仅就这一点,Jazz就值得我的掌声。

0
相关文章