ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 小试牛刀,即见锋芒 -- 有感于RTC的高效敏捷

小试牛刀,即见锋芒 -- 有感于RTC的高效敏捷

原创 Linux操作系统 作者:jazzmaggie 时间:2009-06-02 15:30:55 0 删除 编辑

                     

有经过了几十年的发展,软件的规模已经越来越大,复杂度也越来越高。据权威机构报道,在软件产品开发交付中,只有“42% 的用户对软件质量满意 “,“只有 37% 用户对软件开发速度满意”, 50% 的软件外包项目不令人满意” 软件开发项目失败的背后,人过程和项目的孤岛是导致项目失败的最主要的原因。地域的差别、组织的流程缺陷以及彼此无法通信的各种开发工具,这些将我们的开发团队割裂为一个个独立的信息孤岛,彼此无法有效沟通与协作。

 

Jazz 是 IBM Rational 面向软件交付技术的下一代协作平台。它解决了全球化和跨地域团队开发开发的难题,是一个应用于软件生命周期的可扩展,可伸缩的团队协作平台,就象演奏一场动听的音乐会不仅需要每个乐手具有高超技艺,乐手之间的配合,整个乐队的演奏风格都是决定一场音乐会能否成功的重要因素。通过Jazz平台可以把很多软件生命周期中的任务无缝地集成起来,提高软件交付的协作性、效率和透明度。正如英国诗人John Donne所说“谁都不是一个岛屿,自成一体,每个人都是广袤大陆的一部分”。在Jazz平台上,每个开发人员都一样,大家都是彼此依赖的一个有机整体的一部分,只有彼此手挽手连成了一个广袤的大陆,项目才能取得最大化的成功。

 

RTC(Rational Team Concert )是 IBM 基于Jazz 平台的第一个产品。它继承了Jazz 平台的诸多优越性,为软件开发团队创造协同工作环境的软件。同时它在实现对软件交付项目的全局管理中,还包含了集成的源代码控制、工作项管理、构建管理、自动分析治理功能,以及融入了即时通讯和存在感知技术使团队成员之间沟通更为高效方便。RTC通过高效的团队协作、流程自动化与信息的透明来帮助我们的开发团队一起演奏一曲美妙的爵士乐。

 
 
下面我们就来一起感受一下RTC的高效敏捷吧!

  

l         基于上下文的团队协作

  Jazz /RTC像一个大的舞台,无缝的集成了软件开发全生命周期的方方面面的参与者:从业务分析人员、产品经理、开发人员到发布人员(Release Engineer)、质检人员与客户等等,每个人不再需要在不同的开发工具间不停的切换,却可以方便的查看各个环节的状态与产出。如图1所示。

1  Jazz 架构图

 

一曲好的爵士乐不仅需要每个团队成员各司其职,表演好自己的部分,同时还要和其它的成员保持好同步与协作。Jazz/RTC 中的迭代计划(Iteration plan)为我们的团队协作提供了很好的一个动态参照:每个团队成员不仅可以看到项目的实时状态与全貌,而且我们的指挥(项目经理)可以根据项目最新状况灵活而动态的调整整个团队的步伐,如图2 所示。

 

2 迭代计划

 

随着网络的飞速发展,沟通的方式的多样化极大的提高了人们沟通的效率。Jazz/RTC 不但整合了这些现有的技术,如Feed, 实时聊天(IM),Wiki等等,还在其基础上提供了基于上下文的协作,使得参与协作的项目成员可以基于同一个项目相关的话题快速展开讨论,如图3所示。

 

3 基于上下文的协作

l         流程的自动化

高效的团队需要一致和优化的流程来协调每个人的步伐,从而能有效的保证每个成员都能步调一致。但是从头来构建并优化一个流程又是一件费时费力的庞大工程。Jazz/RTC考虑到了这一点,将业界的最佳实践提炼在了开箱即用的几个流程模板中:如基于 Agile Agile 流程,基于 Eclipse 项目组最佳实践的 Eclipse Way 流程等等,如图4所示。

4 开箱即用的流程

这些流程展开就可以使用,项目组也可以根据自己的需要对其进行进一步的定制和细化,从而能满足自身特殊的需求。

 

但是仅有一个流程的定义还是不够的,如何保证项目的各个成员都能按照流程的要求来协作也是一件困难的事情,传统的做法是在各种场合反复强调并定期检查,但是这样不但费时费力,一旦流程有了改动又要花费大量的精力去传达监督,效率非常低下。

Jazz/RTC则将流程固化在了产品之中,对每个人的每一步动作,系统会自动检查是否符合流程的规定。对违反规定的动作,系统会给出警告并给出解决问题的办法,如图5所示。当流程改变时,自动检查的规则也会随之改变。

5 流程检查

 

对于项目经理来说,如何有效的在团队中执行工作审查和代码审查一直是一件令人头痛的事情。在Jazz/RTC 内,内置的流程使得工作和代码审查变得非常容易和灵活。项目经理可以根据需要随时启用/禁用强制的审查流程。团队成员可以灵活的互相审查与评审。如图6所示。

6 工作审查流程

 

l         信息的透明

在传统的开发环境下,项目的各个环节彼此独立,各个子团队使用不同的工具来做源码控制管理(SCM)、变更管理(Change Management)、构建(Build)、缺陷管理、任务管理等等。这些系统往往是各自独立的,这造成了系统中存在着一个个的信息孤岛,项目管理团队很难看到一个项目的全貌,项目成员也因为缺乏信息而很难和相关的团队成员协作。

Jazz/RTC的设计初衷就是提供一个整合软件开发的全生命周期的协作平台,将软件开发各个阶段使用的系统和工具无缝的集成到一个统一的平台之上,从而有效避免信息孤岛与协作沟通的难题,从而不仅仅能提高每个团队成员的开发效率,也能有效地提高团队、项目组与更高级别的软件公司的项目开发效率。

项目经理和团队成员可以使用仪表盘和报表快速的了解到项目当前最新的进展状况及健康状况,并且可以根据个人的需要为自己定制特定的仪表盘。如图7和图8所示。在需要的时候,项目经理可以一步步深入下去,深入了解影响项目进度的关键点的详细信息。

项目团队的每个成员可以从特定的工作项追踪到相关的工作项,并且方便的追踪其实时的状态。

Jazz/RTC 的帮助下,我们一方面可以正向追踪项目的一些关联信息,回答下面的这样一些以前很难回答的问题,如:

n         缺陷号为 12685 的缺陷是谁负责解决的?当前的状态如何?

n         为了修改该缺陷而修改了哪些代码?谁负责做的代码审查?

n         哪天的安装包中包含了这个缺陷的补丁?哪里可以下载到该安装包?

n         等等

并且可以方便的对项目进行反向追踪,回答下面这些传统方式下很难回答的问题,如:

n         200961号发布的产品安装包中都包含了哪些新功能和缺陷的修复补丁?

n         这些新功能和缺陷补丁分别是由谁来负责开发的?添加或修改了哪些代码?

7 项目仪表盘

8 项目报表

 

这些透明的信息跨软件开发生命周期的各个阶段。有了这些信息的帮助,我们的项目管理团队可以随时修正项目的方向,做出正确的决策;我们的项目团队可以随时自我协调,在高效协作的环境下随时做自我的修正;从而保证了项目始终运行在正确的轨道上。

 

Jazz/RTC的优点还有很多,这里就不一一赘述了。总之高效协作、流程自动、信息透明,这就是 Jazz/RTC 带给每个开发团队的最大价值,在它的辅助下,我们的开发团队可以轻易的弹奏出一首首美妙的爵士乐。 

 

image002.jpg

image004.jpg

image006.jpg

image008.jpg

image010.jpg

image012.jpg

image014.jpg

image016.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21801325/viewspace-604920/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-06-02

  • 博文量
    1
  • 访问量
    2615