标准,一致性和Rational统一过程
 

2010-09-03 作者:Bill Cottrell 来源:IBM

 

本文解释了IBM Rational统一过程(RUP)和项目管理知识体系(PMBOK)的关系,PMBOK由项目管理协会(PMI)负责维护。这是系列文章的第一部分。该系列文章描述RUP和工业标准关系,一致性意味着什么,如何利用标准来改进你的RUP的定制应用以及如何集成这些标准到RUP来达到你的商业价值。

Rational统一过程是一个风险驱动的,基于用例的,体系结构为中心的迭代式软件开发过程。Rational统一过程包含工业标准管理和技巧方面的方法和技术以提供一个软件工程过程尤其适合创造和维护基于构件的软件系统解决方案。Rational统一过程沟通的角色,活动以及工件,它们由过程工作流组织用以在软件工程学科,在运作商业阶段和决策制定里程碑范围内来指导软件开发团队。

Rational统一过程的基础包括三个关键元素:角色,活动和工件,如图1中所示的。角色执行活动并生成工件。每个角色主要负责一系列的活动和工件。但是所有的角色都会对于其他的活动和工件产生贡献。在工作流执行的过程中,角色,活动和工件被重复地使用。在Rational统一过程迭代开发软件生命周期框架中,工作流形成任务的序列对于软件九个理论中的每一个都是唯一的。

Rational统一过程框架是二维的,两个维度分别代表时间和内容。时间维度按照阶段,迭代和里程碑来组织的。内容维度包括软件理论包含在他们应用于那个理论的工作流,角色,活动和工件。

你通过一个补足的工具集来实现Rational统一过程框架,该工具集的能力通常影射到所需的活动和工件的类型上。

如图三所示,Rational统一过程包括五个不同的部分:

  1. Rational统一过程框架。这是形成Rational统一过程核心的业界证明过的最佳实践的知识基础。
  2. 过程交付工具。 如果需要,有一些交付有价值的过程内容给从业者的工具,形式和数量随需而定。
  3. Rational过程工作台。它包括 RUP Organizer 和 RUP Modeler 。RUP Organizer 允许你创造简单的插件,它们补足而不改变Rational统一过程底层结构。RUP Modeler 允许你为RUP创造结构的插件,它们改变RUP的底层结构。
  4. 配置工具。又被称作 RUP Builder,帮助RUP用户用Rational统一过程组织者和 RUP Modeler 创造的插件设定RUP基础配置。
  5. IBM developerWorks上的 Rational 专区 (http://www.ibm.com/developerworks/cn/rational) 有一个RUP用户和RUP合作伙伴的活动社区,它能帮助客户最优化他们对RUP的使用。

项目管理协会(PMI)的项目管理知识体系(PMBOK)对于那些对项目管理的职业感兴趣或者已经从事该职业的人们是一个基本的参考。它包含知识体系的一个子集,该知识体系由项目管理从业者和学术机构来维护的。这个子集包含通常认为并在业界广泛使用的最佳实践。像Rational统一过程一样,项目管理知识体系描述了关键元素和过程,并且它定义了一个项目管理的框架。但是它并没有提供一个在软件开发环境下使用他们的处方。然而,它是在任何业界项目管理的一个通用的指导方针。项目管理协会期待在具体领域的专家将这些指导方针应用到他们各自的业务过程中。

关键元素包括角色,项目管理过程以及工件。正如在Rational统一过程中的一样,角色执行过程活动以产生工件。

如果我们举例说明显示了基于时间和内容维度的每个过程组活动等级的图(见图5)中的框架,我们看到在项目生命周期的活动的一个相对权重,与Rational统一过程框架图(见上面的图2)中的有些相似。

既然我们理解了Rational统一过程和项目管理知识体系的概念和框架,我们可以比较它们以帮助我们理解他们是如何关联的。我们将比较它们的效用以决定一个框架如何符合另一个。以下是比较:

  • 项目管理知识体系描述了基于业界最佳实践的指导方针。Rational统一过程帮助软件开发团队实施软件业界最佳实践。然而Rational统一过程是独立于工具的,当你使用它和IBM软件开发工具协同开发时,你能够显著地提高生产率、完全性、充用性和更多。
  • 项目管理知识体系描述了一个通用的项目生命周期。Rational统一过程指示了在一个项目生命周期中的一个通用的软件开发生命周期。
  • 项目管理知识体系描述了任何规模项目的指导方针。Rational统一过程能够裁剪以实现任何规的模软件项目。

在做出以上比较的同时,我的观点是项目管理知识体系描述了项目管理最佳实践,Rational统一过程指示――帮助我们实现――软件开发最佳实践,其中有些是关于项目管理的。这是一个关键的区别,能够帮助回答我经常问的问题:“项目管理知识体系符合Rational统一过程还是Rational统一过程符合项目管理知识体系?”

答案是“都不是。”为什么呢?因为根据定义,项目管理知识体系被设计成应用于你的已有的业务过程。因此,我们可以将Rational统一过程作为我们的软件开发业务过程来实现它,将它应用到我们公司、一些业务、一个部门、一个计划或者某个其他组织单元,然后应用项目管理知识体系最佳实践。那么,有关项目管理知识体系和Rational统一过程应用的所有这些如何合在一起呢?让我们看一些图片来试着解释。

图6举例说明了项目管理知识体系框架是如何被实现在一个Rational统一过程的每次迭代中的。一个Rational统一过程项目在每次迭代中使用项目管理知识体系最佳实践,在全部的四个Rational统一过程阶段(先启、精化、构建、产品化)作为项目管理理论的一部分。这意味着我们需要将Rational统一过程裁剪为项目管理知识体系的关键元素。然而项目管理知识体系是一个框架和指导方针,它意味着一些角色、活动和工件;所以,我们将把项目管理知识体系作为一个已经存在的过程来考虑并且将其最佳实践合并到Rational统一过程中。

冒着太多像广告一样的测探,裁剪Rational统一过程现在比以前使用Rational过程工作台的任何时候都更容易了。一旦我们知道如何以及为什么我们将要裁剪Rational统一过程,我们可以构建插件来配置到Rational统一过程中。不幸的是,我们还将不得不使用人力来完成这个任务的什么和怎样的部分。如果所有我们要裁剪的都是Rational统一过程项目管理规程,这样就好了。不幸的是,项目管理活动被嵌在不仅仅是这个学科中。

第一步,找到你需要裁减的那些东西。下一步,估计如何捕捉和沟通这些变化。

下面,我列出了寻找什么需要裁剪的步骤。团队应当将这些步骤的结果以任何它们希望的方式归档,但是我这里将会提供结果的一个例子:

  1. 确定开始裁剪的Rational统一过程是什么配置。Rational统一过程有三种规模:小,中,大(称作经典的Rational统一过程)。确定如何选择这三个之一超出了本文的范围。但是为了作为一个例子说明,我将会用Rational统一过程典型配置(完全Rational统一过程)。为了裁剪,将会有更多的角色、活动和工件要评审。所以我们要明智地选择。
  2. 确保你对项目管理知识体系框架元素和Rational统一过程关键元素的细节都很熟悉。没有完全阅读项目管理知识体系和Rational统一过程的内容(至少基于角色材料),我不会开始这个活动。这使得你保留每个部分的其中的一些内容。
  3. 这一步将会是理解项目管理知识体系和Rational统一过程的内容时的一个很长的过程。为了用项目管理最佳实践裁剪Rational统一过程,我们将需要构建一个映射图,从一个项目管理知识体系角色、项目管理过程输出到Rational统一过程角色、活动和工件。但是这个映射本身不是裁剪所需要的。这仅仅是第一步。然而我们已经看到了很多Rational统一过程和项目管理知识体系的映射。我会建议任何希望用项目管理知识体系最佳实践来裁剪Rational统一过程的人使用他们自己的映射。第一,它不是那么困难的,因为在项目管理知识体系中有很多的角色、活动和工件。第二,对于每个框架的内容,映射工作会给你一个深刻的评价和洞察。第三,在映射的过程中有足够的主观能动性使得你很可能裁剪任何已有的映射,创造同你的环境的一致性。基于这些原因,我建议你自己来做这些映射,而且相信它能够符合你的组织的项目管理的规则并且没有东西会被忽视的。

有许多方法你能够构建一个映射。我建议你从每个Rational统一过程角色图开始(在完全Rational统一过程配置中有大约30个角色),每个RUP角色规图出了角色必须完成的所有的活动。

  1. 对于在那个角色中的每一个Rational统一过程活动(在完全Rational统一过程配置中对于所有角色的组合,大约有150个活动),映射它到一个项目管理知识体系过程组中(先启,计划,执行,控制,结束)。你将不必花费很多时间在每个过程组上。标题将会给你是否有项目管理相关的事情的提示。
  2. 对于每一个角色重复这一步骤,为项目管理过程收集所有的Rational统一过程活动。
  3. 然后比较每个项目管理知识体系项目管理过程的内容和相关的 RUP 活动组的内容。
  4. 从这样的比较中,决定你是否需要调整任何Rational统一过程的输入工件和任何项目管理输入、项目管理过程工具和技术和Rational统一过程步骤,或者Rational统一过程结果的工件(在完全Rational统一过程配置中对于所有角色的组合,大约有超过100)和项目管理过程输出。(记住,过程的这个部分相当主观,这就是为什么你需要自己来做映射的原因)
  5. 如果你发现需要任何改变,记录下它们。
  6. 重复这些步骤直到你覆盖了所有角色的所有的活动;这也应当包括所有的工件。

为了说明本文的目的,我将会提供一个初始的映射,它是所有的项目管理过程组到Rational统一过程项目管理者角色和相关的活动。这个映射显示在图7中。

现在,让我们检查第一个项目管理知识体系过程组:初始化。红色所示,映射到三个Rational统一过程活动:开始商业用例,启动项目,启动迭代(也是红色所示)。 每个项目管理过程映射到Rational统一过程的活动。对于每个角色,我重复它。表一显示了到Rational统一过程活动的初始映射;为了本文的目的,我将仅仅跟踪到Rational统一过程的初始映射。

PMBOK过程组 RUP受影响的角色 RUP受影响的活动 RUP受影响的工件 需要做的改变
开始 项目管理者 开始商业用例,启动项目,启动迭代   包括使用组合分析过程的公司项目选择方法,通过在开发商业用例下修改这些步骤。
  管理评审员 项目批准评审 工作顺序 增加RUP工作顺序工件到结果的工件列表中,并且作为输入到启动项目活动。
  商业过程分析员 识别商业目标 商业用例 增加我们公司项目选择标准作为输入。

注意,在表一中,我描述某些改变在我认为Rational统一过程没有满足项目管理知识体系指导原则初衷的地方;也要注意我只显示例外情况。如果我想要显示我的管理和或者我遵守项目管理协会标准初衷的一个审计员,我将很可能会包括从RUP 关键元素到 PMBOK 元素的所有映射。一旦我完成这个方法对于所有的PMBOK项目管理过程组在每个RUP活动对于每个RUP角色,我能够决定我如何作出这些改变。

最简单的捕捉和沟通RUP裁剪的方法是构造一个RUP开发案例。在你已经裁剪了 RUP 之后,你可以用 RUP 提供的开发案例模板来捕捉过程。你可以将这个开发案例放在项目的站点上用来参考。在站点上你可以链接到裁剪的过程上。每个人都可以评审裁剪的项目。材料评审可以在开始RUP迭代之前的一个组会上进行。

通过举例说明如何用RUP过程工作台(RPW)自定义工具来构建插件,我将会更进一步地讨论这个步骤。正如本文一开始所提到的,这些工具是 RUP Organizer,它使得你作出公共的定制而不影响潜在的 RUP 元模型以及能够让你使用结构的插件的 RUP Modeler 。但是这个过程的细节很容易的就使文章的长度加倍了。所以这里我将停止对它的讨论。

在过去的二十年内,我已经看到或者参加了我分享的过程改进项目。通过这样做,我见证了当业界标准被使用作为一个公司,业务、部门、计划或者某些其它的组织单元的过程时,只得到了有限的成功。我也经历了尝试将公司的过程映射到标准和指导方针。执行这些映射的工作无疑是显示一致性、成熟度或者认证的方法。将标准映射到业务会给你提供对标准和过程非常有帮助的理解,而这只是你需要集成它们的工作的一部分。恰当的例子:Rational统一过程和项目管理协会项目管理知识体系。

通过随后本文列出的技术,我相信你可以将RUP裁剪映射到PMBOK最佳实践。特别地,在IBM Rational,我们已经发现我们可以用PMBOK 过程输入来调整RUP的输入工件,用PMBOK步骤过程工具和技术来调整RUP步骤,用PMBOK过程输出来调整RUP结果工件。

一旦我们发现什么是需要裁剪的,我们有一些选择使得这些改变对于项目组是可以获得的。我们可以构建一个开发案例文档、使用 RUP Organizer,和/或者 RUP Modeler。



由外而内看敏捷软件开发
架敏捷开发中史诗故事与用户
看板任务管理
面向全球化的有效敏捷交付
小型团队快速开发方法
DevOps,不是一个传说!
更多...   


统一过程及应用
敏捷过程实践
基于XP/RUP的迭代开发
软件开发过程指南
SCRUM过程实践
敏捷测试-简单而可行


某博彩企业 产品经理与产品管理
北京 研发团队与工作管理
广东金赋信息 敏捷开发过程与项目管理
某支付平台 软件配置管理与发布管理
富士 软件外包项目管理与进度管理
塞孚耐 基于Scrum的敏捷开发
更多...   
 
 
 
 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号