Concept: Development and Integration Areas
A system is typically implemented by teams of individual implementers working together
and in parallel. To make this possible, several work areas are needed. Examples of such
areas are:
- A development area for each individual implementer.
- An integration area for the team.
- An integration area for the system integrators.
Development Areas 
The individual implementer has a development area where she implements the subsystems
and the contained components, that she is responsible for. To compile, link, execute and
test, the code in the subsystem, other parts of the system are needed. Normally the
implementer does not need the entire system to develop her subsystem. Instead it is enough
to have the subsystems required to compile, link and execute the subsystem in the
development area. These other subsystems do not have to reside in the implementer's
private development area, as physical copies. Instead they can reside in a common
repository, with the internally released subsystems. When the implementer compiles the
precise location of the other subsystems it is defined in a separate file, for example, a
makefile.
Example:
The Monthly Account Telephone subsystem (in a banking system) needs the
subsystems that are directly, or indirectly imported by the subsystem to compile, link and
execute, its components. In this case six of the ten subsystems will be needed for the
implementers of the Monthly Account Telephone subsystem.

The development area for an implementer of the subsystem Monthly
Account Telephone.
Integration Area for the Team 
In some cases there is a team of implementers that may be simultaneously developing the
same subsystem. In this instance implementers need to integrate their components into a
subsystem before it can be propagated onto system integration. Team integration is often
done in a team integration area, dedicated to the integration of the individual
team members work. One of the implementers is responsible for the integration area, and to
do the integration.
Another strategy for team integration is to designate one of individual's development
areas, as a place holder for all team developed work, and thereby serve as the team
integration area.
Integration Area for System Integrators 
A system integrator has an integration area (integration workspace) where she can add
one or several software components (one or several components) or one or several
subsystems at a time, to create builds that are integration tested.

A integration area for a system integrator where subsystems are
added in each integration increment.
|