论文部分内容阅读
长期以来,软件项目的交付一直就是一个难题。随着企业内部架构的升级和方案构建方法的更新,这一难题变得更为严重。IDC的调查数据显示,有超过80%的软件项目没有按时交付,超过50%的软件项目没有实现目标功能,而成本却平均超出预算15%。如何解决这一难题呢?最近,IBM推出了基于Jazz平台的开源产品RTC(RationalTeamConcert),希望能够通过它来帮助企业改善软件交付的质量。
融合Web 2.0技术
RTC产品中融合了Web 2.0技术,主要表现在两个方面。第一,RTC是在互联网上开发的。Jazz平台有一个社区,这个社区是开放的,所有的软件工程师都可以看到包括源代碼在内的信息,都可以全面地了解RTC的概念以及执行的程序。
第二,Jazz平台本身就嵌入了协作功能。这里说的协作,绝对不仅仅是给相关人员发短信这么简单。该平台自动发出的短信附载有很多和语境相关的信息,比如说目前项目进展到了哪一步。当软件项目做构建出了问题时,它可以把详细的内容反映给项目经理,也可以反映给造成错误的具体开发者,同时会把有问题的地方标识出来,开发者可以非常清楚地知道要改什么,在哪里改,他的责任是什么。
在RTC中还有一个In-context的功能,它可以提供软件工程师在每个环节所需要的信息。如果某位软件工程师对某个模块比较关注,就可以订阅这个模块,一旦模块有什么变化(如其他开发人员加入了新的内容),它马上会发送给软件工程师。
流程自动化
软件开发在不同的环节、不同的人之间流动。要保证这种流动的顺畅,需要用到软件开发流程。软件工程师们需要了解:自己应该做什么,某个模块出现了什么样的问题,团队的其他成员开发进度情况怎么样。这些信息在过去是很难知道的。
现在,通过Jazz平台软件工程师们都可以轻易地了解:某个模块是谁做的,自己应该做哪个模块。如果某个环节自己不会做,则可以通过团队内部的即时通讯工具寻求帮助。他可以把遇到的难题发给其他成员,其他成员能帮其出谋划策。
值得一提的是,在Jazz平台上很多的流程都实现了自动化。比如项目经理做完了计划后,他就可以通过协作平台把每个人的任务自动分配,而每个团队成员完成任务后,计划也会自动地更新。
在软件开发过程中,很多开发者很关注所有团队成员在一起怎样协作才能提高效率。Jazz平台提供了多种协作的工具。只要把团队协作的流程在工具当中设定,那么工具就“懂得”这个流程。这就像一个智能的指挥棒掌握在工具手里,它会告诉软件工程师接下来该做什么。IBM软件集团Rational中国区解决方案经理和产品经理宁德军告诉记者:“虽然Jazz平台懂流程,但它不会强迫软件工程师去做。因为我们都知道,在任何一个团队当中,每个人都不反对做治理,但是没有人会喜欢被控制。这个工具只是扮演助手的角色,软件工程师才是主人。”
融合Web 2.0技术
RTC产品中融合了Web 2.0技术,主要表现在两个方面。第一,RTC是在互联网上开发的。Jazz平台有一个社区,这个社区是开放的,所有的软件工程师都可以看到包括源代碼在内的信息,都可以全面地了解RTC的概念以及执行的程序。
第二,Jazz平台本身就嵌入了协作功能。这里说的协作,绝对不仅仅是给相关人员发短信这么简单。该平台自动发出的短信附载有很多和语境相关的信息,比如说目前项目进展到了哪一步。当软件项目做构建出了问题时,它可以把详细的内容反映给项目经理,也可以反映给造成错误的具体开发者,同时会把有问题的地方标识出来,开发者可以非常清楚地知道要改什么,在哪里改,他的责任是什么。
在RTC中还有一个In-context的功能,它可以提供软件工程师在每个环节所需要的信息。如果某位软件工程师对某个模块比较关注,就可以订阅这个模块,一旦模块有什么变化(如其他开发人员加入了新的内容),它马上会发送给软件工程师。
流程自动化
软件开发在不同的环节、不同的人之间流动。要保证这种流动的顺畅,需要用到软件开发流程。软件工程师们需要了解:自己应该做什么,某个模块出现了什么样的问题,团队的其他成员开发进度情况怎么样。这些信息在过去是很难知道的。
现在,通过Jazz平台软件工程师们都可以轻易地了解:某个模块是谁做的,自己应该做哪个模块。如果某个环节自己不会做,则可以通过团队内部的即时通讯工具寻求帮助。他可以把遇到的难题发给其他成员,其他成员能帮其出谋划策。
值得一提的是,在Jazz平台上很多的流程都实现了自动化。比如项目经理做完了计划后,他就可以通过协作平台把每个人的任务自动分配,而每个团队成员完成任务后,计划也会自动地更新。
在软件开发过程中,很多开发者很关注所有团队成员在一起怎样协作才能提高效率。Jazz平台提供了多种协作的工具。只要把团队协作的流程在工具当中设定,那么工具就“懂得”这个流程。这就像一个智能的指挥棒掌握在工具手里,它会告诉软件工程师接下来该做什么。IBM软件集团Rational中国区解决方案经理和产品经理宁德军告诉记者:“虽然Jazz平台懂流程,但它不会强迫软件工程师去做。因为我们都知道,在任何一个团队当中,每个人都不反对做治理,但是没有人会喜欢被控制。这个工具只是扮演助手的角色,软件工程师才是主人。”