Cycle
- Cycle
- the top-level
stage consisting of one or more related
phases
As illustrated in the preceding figure, cycles are part of the following inheritance hierarchy:
- Type: Concrete
- Superclass: Stages with Duration
- Subclasses:
- Example Instances:
- The traditional Waterfall development cycle, which equated
the major engineering activities (e.g., requirements
engineering, architecting, design, implementation,
integration, and testing) into sequential, non-overlapping phases.
- The Spiral cycle (from Barry Boehm), which
emphasizes iterative and incremental requriements engineering for risk management.
- The Fountain development cycle from the MOSES
development method, which provided a nice visual metaphore
for the iterative and parallel aspects of the development cycle.
- The iterative, incremental, and parallel
IIP development cycle, which is typically
used on modern object-oriented development projects.
The typical objectives of a cycle are to:
- Provide an overview to the project as a whole in terms of its phases.
- Provide overall organization to its activities and milestones.
- Support top-level scheduling of activities, personnel, and resource acquisition.
As illustrated in the preceding figure, the OPF predefined cycles contain the following phases:
The OPF Cycles have the following characteristics:
- General Guidelines:
- Different cycles contain different phases, depending on the mission of the endeavor.
- Cycles and phases can be combined or decomposed
depending on the need for these stages to better map to
engagements and contracts between the various organizations.
- Usage Guidelines for using the OPEN Process
Framework (OPF) to produce a process containing a project-specific cycle:
- Creation Guidelines for creating a project-specific process from the OPF:
- Because OPF is a general (and therefore relatively
complete) framework, its class repository contains a
relatively complete set of cycles.
- Choose the reusable cycle in the repository to use
based on the type of project and the types of work
products to be produced. For example, a business
engineering project would only have the business
engineering cycle, whereas an application development
project would use the application development cycle.
- Document the cycle selected in the project-specific
process description document.
- Extension Guidelines for extending the
repository with a new cycle:
- Ensure that each new cycle is cohesive in terms of its definition and objectives.
- Ensure that each new phase is internally consistent:
- The cycles’s phases are consistent with the cycle’s name and objectives.
- Ensure that each new cycle is externally consistent
in that its objectives do not inadvertantly overlap the objectives of existing cycles.
- Ensure that each new cycle is adequately documented using the standard topics.
- Tailoring Guidelines for modifying a selected cycle to meet the specific needs of a project:
- Tailoring can happen at any time during the project:
- At the beginning of the project when the project-specific process is produced.
- During the process as situations change and lessons are learned.
- Modify the definition as appropriate.
- Add, modify, or delete objectives as appropriate.
- Add, modify, or delete phases as appropriate.
- Document your tailoring decisions in the description
of the project-specific process.