内容


标准,一致性和 Rational统一过程,第一部分:集成RUP和PMBOK

Comments

Illustration标准――一些人讨厌这个词。然而我不讨厌它,我确实理解它。几乎每天,我都有某个理由来讨论工业标准和Rational统一过程 的关系。有一些对标准的考虑。我认为标准对于公司来说是一个机会,它能改善软件开发工作和定义今天公司前景的商业和法律过程的集成。事实上,软件开发团队不一定会参与大多数的审计,检查,认证或者资产评估的过程,而是更有可能地,IT团队经常以财政的,组织的或者业务过程改进的方式参与到结果当中。

是什么驱动我们去追求遵从工业标准的一致性?考虑一个竞争合并,合并中收获的公司可能已经符合某些工业标准了而且收购公司希望获得公司范围内的某种程度的一致。或者考虑一个公司决定外包他们业务中的某些不具备核心竞争力的那些部分。很可能的情况,外部的提供商正在使用的标准可能是或不是雇佣公司当前商业过程的一部分。最后,考虑一个调整的审计。任何亏量将无疑需要在商业过程中得到改变。这意味着,软件开发可能受到影响。一系列驱动开始了,所有的都是使用标准的例子。

无论你信与不信,都存在工业标准和指导方针以及帮助我们达到商业目标的过程,他们能够解决商业过程亏量,获得竞争前沿,或多或少,或者仅仅是为了更好的沟通,简单地提供等价于词典的东西。

在过去的二十年里,我已经看到――或者成为我的过程改进项目共享的一部分,现在我确信工业标注和指导方针不是关于你的公司是否与它们一致,而是你是否能够利用它们来改进你的过程。是的,有时候拥有一个挂在公建筑物的外面的表明符合标准的旗帜是很重要的,但是底线是,如果你的改进没有增加价值的话,这个改进将会是肤浅的。

Rational统一过程被设计成为你的软件开发商业过程。然而 Rational 统一过程包含了许多工业最佳实践,这些实践包括在标准当中,总体而言,它不是设计成符合工业标准的。但是Rational统一过程能够并且被实现成――有一些裁减――用来帮助一个公司符合工业标准的。换句话说,Rational统一过程是一个工具,这个工具能帮助达到商业目标,获得竞争前沿,或者简单地提供一个交流的工具使得工业标准能够在你的工作场所中增加价值。

一个这样的标准或者指导是项目管理协会的“项目管理知识体系”或者PMBOK。项目管理知识体系描述了项目管理宣言里的知识的总和。它的目的是“识别和描述项目管理知识体系中被广泛接受的子集,该子集在宣传和讨论和写作项目管理实践中,提供一个公共的词典”,但是明显地一些实践者认为项目管理知识体系是他们的软件项目管理过程和规程。

这篇文章是系列的第一篇。该系列描述RUP和工业标准关系,一致性意味着什么,如何利用标准来改进你的RUP的定制应用以及如何集成这些标准到RUP来达到你的商业价值。

如果你不熟悉Rational统一过程(RUP)和项目管理知识体系(PMBOK),可以阅读下面部分的每一节。否则,直接阅读标有 Rational统一过程和项目管理知识体系是如何相互关联的.

关联Rational统一过程和项目管理知识体系

为了理解Rational统一过程和项目管理知识体系如何相互关联,你必须首先理解他们各自的概念和框架。

什么是Rational统一过程?

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

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

图 1:IBM Rational统一过程中的关键元素。

图 2 :Rational统一过程框架

图 2 :Rational统一过程框架

图 2:Rational统一过程框架。

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

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

图 3:通过一个补足的工具集来实现Rational统一过程框架

图 3:通过一个补足的工具集来实现Rational统一过程框架

图 3:通过一个补足的工具集来实现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的使用。

什么是项目管理知识体系(PMBOK)?

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

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

图4:项目管理知识体系的项目管理过程矩阵

图4:项目管理知识体系的项目管理过程矩阵

图4:项目管理知识体系的项目管理过程矩阵。

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

图 5:项目管理知识体系框架

图 5:项目管理知识体系框架

图 5:项目管理知识体系框架。

关联Rational统一过程和项目管理知识体系

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

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

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

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

图6:项目管理知识体系框架被实现在一个Rational统一过程的每次迭代中

图6:项目管理知识体系框架被实现在一个Rational统一过程的每次迭代中

图6:项目管理知识体系框架被实现在一个Rational统一过程的每次迭代中。

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

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

图7:Rational统一过程到项目管理知识体系映射例子

图7:Rational统一过程到项目管理知识体系映射例子

图7:Rational统一过程到项目管理知识体系映射例子。

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

表一:PMBOK启动项目管理过程组映射到RUP活动。
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。

参考

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文
  • 项目管理知识体系导引2000 年版。项目管理协会,2000。
  • Rational 统一过程 版本2003.06.01.06

注解

1项目管理知识体系指南(PMBOK 指南) 2000 版。 项目管理协会,2000。

2 Op. cit. 得到PMI的许可在这里进行了再版。

3 编者注:映射RUP和PMBOK的另一种方法在Serge Charbonneau的文章中进行了详细描述,Software project management: A mapping between RUP and the PMBOK


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=161803
ArticleTitle=标准,一致性和 Rational统一过程,第一部分:集成RUP和PMBOK
publish-date=08012005