将 RUP 和 CMMI 结合起来的优势
一个基于 RUP 和 CMMI 的结合的过程架构能够帮助企业最大限度的从这两种高价值的过程标准中获益:RUP 作为强大的而且已经被证明的软件开发最佳实践,有助于访问开发过程和关注它们的持续提高——所有这些都是基于一个预先打包并且可以复用的插件程序的支持,我们将在下面对其加以讨论。
RUP 定义了那些能够在项目团队之间易于配置的过程。使用 RUP 执行 CMMI 能够有助您在交付高质量软件的过程中对 RUP 过程进行控制和监测。
应用 RUP/CMMI 过程架构的优势包括:
通过使用 RUP 指导和资产,加速 CMMI 过程的执行,从而简化整个过程的定义
从 IBM Rational 获得广泛的工具支持,执行与 CMMI 兼容的过程的能力
大范围的 “现成的” 过程定义提供了 “混合和匹配”的潜能——例如,RUP 过程能够被用于定义您的工程过程,而 CMMI 能够被用于定义您的支持过程
将 RUP 那种更具开发者友好性的风格融入 CMMI 中
映射 RUP 和 CMMI
为了避免在定义 RUP 和 CMMI 结合过程架构中的冗余,分层比较这两个过程模型是很重要的。辨认出它们之间的差异能够有助于确保最终的架构能够处理您开发周期中的所有方面。
尤其是对于 CMMI 层次3来说,43 个特定目标需要被映射到 RUP 工作流和活动中。当差异被辨认出来后,来自 CMMI 的元素就能够补充 RUP 过程来消除这种差异。表1中对两个过程的元素做了逐一的比较,这是识别差异和创建所缺少的元素来补充 RUP 的第一步。
表 1: CMMI 和 RUP 元素的比较
CMMI 元素 | 映射到 RUP 元素 |
---|---|
过程域 | 工作流或活动 |
特定实践或目标 | 活动或任务 |
一般实践或目标 | 活动或任务 |
子实践或目标 | 活动或任务 |
工作产品 | 工作产品/模版/检查单/指南 |
在定义以上映射的操作中,我们将 CMMI 视作一个参考,并且将 RUP 过程映射到 CMMI 上。基于对每一个过程域的考虑,相似的映射应该在该级上被执行,如果有可能的话,由一组专家负责执行作用于软件开发和维护的 RUP 和 CMMI。更好的做法是指派两组专家去执行该映射,一组负责 CMMI-to-RUP 透视图,另一组负责 RUP-to-CMMI 透视图,然后通过集中讨论对它们之间的显著区别加以处理。
表2描绘了与 RUP 相关的 CMMI 层次2和层次之间的映射和 “差异分析”。
表 2: RUP 和 CMMI 的映射结果
成熟度级别 | 过程域 | 在 RUP 中支持的程度 |
---|---|---|
级别 2 | 项目计划 | 支持的中等层次;RUP 不包括项目的非软件方面的计划。 |
需求管理 | 没有明显的差异。 | |
项目监督与控制 | RUP 需要被增强,从而包括对事项的监测和对数据管理活动的监测。 | |
供应商协议管理 | 在 RUP 中没有被定义。 | |
度量与分析 | RUP 需要被增强,从而包括报告和分析的细节。状况评价来包括项目的定量分析。 | |
过程与产品质量保证 | 没有明显的差异。 | |
配置管理 | 没有明显的差异。 | |
级别 3 | 需求管理 | 没有明显的差异。 |
技术解决方案 | RUP 需要被增强,从而从候选标准中定义选择的解决方案的过程。 | |
产品集成 | 没有明显的差异。 | |
验证 | RUP 需要被增强,从而为评审定义一个记录机制。 | |
确认 | 没有明显的差异。 | |
组织过程聚焦 | 在 RUP 中没有被定义。 | |
组织过程定义 + IPPD | 在 RUP 中没有被定义。 | |
组织培训 | 在 RUP 中没有被定义。 | |
集成项目管理 + IPPD | RUP 需要被增强,从而加强计划的综合以及它们之间依赖关系的管理。 | |
风险管理 | RUP 需要被增强,从而包括识别风险参数和风险管理策略的过程。 | |
决策分析与决定 | 在 RUP 中没有被定义。 |