Task: Plan System Integration
This task describes how to plan the integration of the system.
Relationships
RolesPrimary: Additional: Assisting:
InputsMandatory: Optional: External:
  • None
Outputs
Steps
Identify Subsystems

Identify which implementation subsystems participate in the next increment of the system to be built.  Study the design to understand dependencies required for compilation, as well as to support end-to-end scenarios targeted for the next increment.

Use-cases and Scenarios for an Iteration Diagram 

Define Build Sets

In large systems where you may have up to a hundred implementation subsystems, it becomes a complex task to plan the integration.

To facilitate integration planning, and manage complexity you need to reduce the number of things you need to think about. It is recommended that you define meaningful sets of subsystems (build sets or towers), that belong together from an integration point of view. 'Belong together' in the sense that these subsystems are sometimes integrated as a group; it does not make sense to integrate just one of the subsystems. For example, all the subsystems in lower layers that a subsystem needs (imports directly, or indirectly) to execute, could be a meaningful build set.

Sample Build Set Diagram

A build set is defined for the lowest layer if these two subsystems are often integrated as a group. A build set is defined with all subsystems that are needed to compile and execute subsystem A.

Notice that the build sets can, and will, overlap. Which build sets and their contents you have may vary during the life of a project.

The purpose of defining these build sets is to make it easier to do the integration planning. Instead of thinking about individual subsystems you can think about sets of subsystems.

Consider integration scenarios and use them to validate that the defined build sets reflect the best integration sequence for the system.

Define a Series of Builds

You define a series of builds to incrementally integrate the system. This is typically done bottom-up in the layered structure of subsystems in the implementation model. For each build, define which subsystems should go into it, and which other subsystems must be available as stubs. In the figure following, three builds have been defined.

Three Build Integration Plan Diagram

An integration planned to be done in three builds.

Specify responsibilities, timing, and qualification of builds
Who creates the builds, when they are created, and how builds are qualified should be spelled out.
Document step by step procedures

Procedures are ideally simple, using build automation tools to minimize manual steps.   This step may involve coordinating with others on the team to create integration workspaces and automated build scripts. Document decisions and rationale for all integration procedures.

Properties
Multiple Occurrences
Event Driven
Ongoing
Optional
PlannedYes
Repeatable