CMMI DEV过程域之间的关系 - 工程类
CMMI模型中,工程类过程域涵盖了工程学科所共有的开发与维护活动。
工程类过程域的书写使用了通用的工程术语,这样,涉及产品开发过程(如软件工程、机械工程等)的任何技术学科都能够将其用于过程改进。工程类过程域还将不同工程学科的关联过程整合到单一的产品开发过程之中,来支持以产品为导向的过程改进策略。这样的策略瞄准的是实质性的业务目标,而非特定的技术学科。这种过程方法有效避免了组织级“烟囱”型隔阂思想的倾向。
工程类过程域适用于开发领域中任何产品或服务的开发(如,软件产品、硬件产品、服务、过程等)。
CMMI-DEV中的五个工程类过程域是:
• 产品集成(Product Integration:PI)
• 需求开发(Requirements Development:RD)
• 技术解决方案(Technical Solution:TS)
• 确认(Validation:VAL)
• 验证(Verification:VER)
展示了CMMI模型中,五个工程类过程域之间的互动关系的鸟瞰图。
“需求开发”过程域(CMMI3级)识别客户需要并将这些需要转化为产品需求。产品需求的集合被加以分析,生成高层次的概念解决方案。该需求集合随后被分配,以建立最初的产品组件需求集合。再衍生出其它有助于定义产品的需求,并分配至产品组件。该产品与产品组件的需求集合清晰地描述了产品的性能、质量属性、设计功能、验证需求等等,并通过开发人员能够理解并使用的术语进行描述。“需求开发”过程域提供需求至“技术解决方案”过程域,在此处需求被转换为产品架构、产品组件设计与产品组件(如通过编码、制造等)。需求也被提供给“产品集成”过程域,在此处产品组件被组合起来,接口得到验证,以确保其符合“需求开发”过程域所提供的接口需求。
“技术解决方案”过程域(CMMI3级)开发产品组件的技术数据包,用于“产品集成”过程域或“供方协议管理”过程域。备选解决方案被考察,并基于已建立的准则选择最优设计。这些准则可以因产品不同而有显著区别,这取决于产品类型、操作环境、性能需求、支持需求以及成本或交付进度。选择最终解决方案的工作会用到“决策分析与解决”过程域中的特定实践。“技术解决方案”过程域(CMMI3级)依赖于“验证”过程域中的特定实践,以在设计过程中并在最后的构建之前,执行设计验证与同级评审。
“验证”过程域确保选定的工作产品满足规定的需求。“验证”过程域选择工作产品与验证方法,用于对照规定的需求对工作产品进行验证。一般来说验证是一个增量式的过程,从产品组件的验证开始,通常以对完全组装了的产品进行验证为结束。验证也应对了同级评审。同级评审是一种经实践检验了的方法,用于尽早移除缺陷,并为正在开发或维护的工作产品与产品组件提供有价值的洞察。
“确认”过程域(CMMI3级)对照客户需要,增量式地对产品进行确认。确认可以在操作环境或模拟的操作环境下执行。在确认的需求方面与客户进行协调是该过程域的重要元素。“确认”过程域的范围包括对产品、产品组件、选定的中间工作产品与过程的确认。这些已确认的要素常常需要再次验证与再次确认。确认中发现的问题往往在“需求开发”过程域或“技术解决方案”过程域中得到解决。
“产品集成”过程域(CMMI3级)包含的特定实践与建立集成策略、进行产品组件集成、以及向客户交付产品等相关联。“产品集成”过程域在实施产品集成过程时使用了“确认”过程域与“验证”过程域中的特定实践。“验证”过程域的实践在产品集成之前验证了产品组件的接口与接口需求。接口验证是集成过程中的必要事件。在操作环境中进行产品集成时,就要使用到“确认”过程域中的特定实践。
多数过程标准都同意,过程的应用可以有两种方式。这两种方式被称为递归与迭代。
当过程应用于系统结构内层次相继的系统元素时,所发生的就是递归。一次应用的结果被用作系统结构内下一层次的输入。例如,验证过程可以被设计用于整个已装配的产品,或用于主要的产品组件,甚至用于组件的组件。将验证过程应用至产品的何种深度,完全取决于最终产品的规模与复杂度。
当过程在同一系统层次重复时,所发生的就是迭代。实施一个过程会产生新的信息,该过程再将所产生的新信息反馈至相关的过程。这样的新信息往往会引出一些在过程完成之前必须解决掉的问题。
例如,迭代很可能发生在需求开发与技术解决方案之间。这些过程的重复应用能够解决所引出的问题。迭代能够在下一个过程的应用之前确保质量。工程类过程(如需求开发、验证等)可以在一个产品上重复实施,以确保在交付给客户之前,这些工程类过程得到了充分的处理。工程类过程还可以再被进一步应用于产品的组件。例如,一些由“验证”过程域和“确认”过程域的关联过程所引出的问题能够由“需求开发”过程域或“产品集成”过程域的关联过程进行解决。这些过程的递归与迭代使得项目在产品交付给客户之前,能够确保其所有组件的质量。项目管理类过程域同样是可递归的,因为项目有时会嵌套在项目之中。
【相关阅读】