Task: Integrate and Create Build
Integrate the implemented units into the code base. Integrate the components into a build of the application.
Discipline:  Implementation
Purpose
Compile the code.
Relationships
RolesPrimary Performer: Additional Performers:
InputsMandatory: Optional:
  • None
Outputs
Steps
Integrate implemented elements

It is recommended that you integrate the implemented classes (see Artifact: Implementation) incrementally bottom-up in the compilation-dependency hierarchy. At each increment you add one, or a few elements to the system.

If two or more developers are working in parallel on the same component, their work is integrated through a component integration workspace (see Concept: Workspace), into which the developers deliver elements from their private development workspaces (see Guideline: Promoting Builds), and from which builds can be constructed.

If a team of several individuals works in parallel on the same component, it is important that the team members share their results frequently, not waiting until late in the process to integrate the team's work.

Test integrated elements

As integration of implemented elements occur, it is important that tests are performed to validate that nothing got broken during integration.

Task: Run Developer Tests may be performed in order to run tests against integrated elements, to verify if integrated elements behave the same as they behave in isolation.

Deliver integrated elements

After the final increment, when the components are ready and the associated build has been integration tested, the components are delivered into the system integration workspace (see Concept: Workspace and Guideline: Promoting Builds).

Accept integrated elements and produce build

Several builds may be created in particular iteration. For each individual build, this step is performed only when components have been delivered to satisfy the requirements of that build.

SeeGuideline: Continuous Integration.

The final increment of a sequence produces the target build. When this has been minimally tested, an initial or provisional baseline is created for this build. The build is now made available to the tester for complete system testing. The nature and depth of this testing will be as planned for a particular iteration (as defined in Artifact: Iteration Plan).

More Information