Activity: Integrate each Subsystem
This activity integrates changes from multiple implementers to create a new consistent version of an Implementation Subsystem.
DescriptionWork Breakdown StructureTeam AllocationWork Product Usage
Relationships
Parent Activities
Description

If several implementers work (as a team) on the same Implementation Subsystem, the changes from the individual implementers need to be integrated to create a new consistent version of the Implementation Subsystem. The integration results in series of builds in a subsystem integration workspace. Each build is then integration tested by a tester or an implementer executing the developer tests. Following testing, the Implementation Subsystem is delivered into the system integration workspace.

Properties
Event Driven
Multiple Occurrences
Ongoing
Optional
Planned
Repeatable
Staffing

Integration is typically carried out by a single person (for a small project on which the build process in simple) or a small team (for a large project on which the build process is complex). The integrators need experience in software build management, configuration management, and experience in the programming language in which the components to be integrated are written. Because integration often involves a high degree of automation, expertise in operating system shell or scripting languages and tools like 'make' (on Unix) or 'ant' (for Java) is also essential.

Usage
Usage Guidance

Integration work is typically automated to a large degree, with manual effort required when the build breaks. A frequent strategy is to perform automated nightly builds and some automated testing (usually at the unit level), allowing for frequent feedback from the build process.