---
title: 使用可重复的元素
acode: NUP6
---

对于一个项目来说，临时的方法需要消耗太多的精力和资源，并且总是存在遗漏一些必要元素的风险。 简化必须完成的工作的最佳方法是使用可重复的元素，并且最好可以重复循环使用。

## 示例：质量检查单

一个检查单是许多人在个人和职业生涯中使用的，一个潜在可重复元素的简单示例。以可交付成果的质量标准为例，例如：

* 首先，你可以创建一个所有标准的清单，这是一种计划形式。

* 项目通用原则六（NUP6）的建议是尝试对其进行归纳：项目中是否还有其他类似的可交付成果？在这种情况下，为该类可交付成果准备一份通用质量检查单，并将其用于所有质量检查单。如果有不同的地方，请保留通用清单，并为各个单独的可交付成果添加一些额外检查项。这样你就有了可重复的质量检查单。

* 一旦为各种类型的可交付成果准备了通用检查单，你可能会发现在它们之间重复的元素，这表明需要为它们准备一个虚拟的上级父类别。在这种情况下，你可以提取它们并将它们放在上一级的检查表中，而不是在通用检查单中重复所有这些的项目。最后，你可能会为整个项目提供一个通用的检查清单。 Scrum中对“完成”的定义是使用项目级检查单来提高质量的一个例子（可能包括其他内容）。通过这样做，每个可交付成果将属于一个类别层次，应该能够满足所有类别清单中出现的项目。

据此，上一级检查表中的项目对其下的所有可交付成果是可以重复使用的，这样可以节省计划和执行的时间与精力。

更重要的是，一旦你为一个项目执行了此操作，你就可以进行剪裁，将其应用于将来的所有类似项目中，这是一个对多个项目进行规划的可重复的形式。

## 示例：流程和工作流

一些可交付成果或与之相关的目标需要一些特定的步骤，这些步骤是标准化和可重复的。例如，如果交付物需要进行独立设计和批准，你可以准备一个简单的工作流，使所有步骤，涉及的人员和大致的持续时间都很清晰，从而避免许多困难。但是，你应该小心，不要让流程过于复杂或文档过于密集繁多，因为这会适得其返。参与项目的所有人都应该能够看到，工作流和流程可以为他们的工作提供支持，使他们工作起来更容易，他们需要的不是阻碍他们实际工作的官僚化的文档。

敏捷项目在其迭代开发方法中具有可重复的元素，其中每个特性都重复某些类型的开发活动;例如XP（极限编程）中常见的惯例是：配对，挑选项目，在白板上设计，构建测试脚本和代码，代码集成等。

除了可用于技术活动的可重复工作流之外，你还可以为项目管理活动提供可重复的元素。 PMBOK指南，PRINCE2和DSDM中的流程，P3.express中的活动以及Scrum中的事件都是这个概念的示例。

## 示例：周期

拥有可重复元素对于管理项目来说是有帮助的。 通过将它们置于可重复的周期中，可以使管理项目变得容易。 这些周期大大简化了参与项目管理和领导的人员的日常活动。 用于具有多个阶段项目的PMBOK指南中的过程组周期，PRINCE2中的阶段，P3.express中的每日，每周和每月周期，DSDM中的迭代和时间框以及Scrum中的Sprint都是这个概念示例。短的周期比长的周期更容易理解和使用; 例如，与PMBOK指南的阶段相比，Scrum中的Sprint更容易理解和使用。 但是，太短的周期可能不足以支持某些类型的项目，解决方案可能是使用多个周期，例如DSDM将较短时间盒周期与较长的迭代周期一起使用，或者P3.express中使用每日，每周和每月周期。

## 示例：方法

使用一个方法论或一个框架来开展项目是可重复元素的另一种使用。 这可以是现存的体系，如PRINCE2，P3.express，DSDM或Scrum，也可以是你自己定制或构建的体系。 但是，从一个现有方法开始，并根据你的需要进行调整，而不是从头开始构建，通常是一个更好的主意。

任何可重复的元素都是抽象的，需要定制才能使其适应现实世界。 然而，有一系列的抽象和定制需求：小的，相对具体的质量检查单处于这个系列的一端，具有少量的抽象和剪裁需求；而方法论的另一端，具有较高的定制需求。 你应该始终注意剪裁的需求，否则，可重复元素将无法正确的满足你的需求。
