A project
can have a hierarchy of development streams that starts with the integration
stream (see Stream hierarchy with
multiple levels).
Figure 1: Stream hierarchy with
multiple levels
A development stream is created as a child of either the integration stream
or of another development stream. For example, stream D1 is a child
of the integration stream, stream D2 is a child of stream D1,
and D3 is a child of stream D2.
The parent-child relationship between streams defines the default target
of deliver operations and the default source of baselines for rebase operations.
The default relationships are the following:
A child stream delivers to its default target, the parent stream, any
undelivered activities that it holds. For example:
Stream D3 delivers activities c1, c2, and c3 to
its default target, stream D2.
Stream D2 delivers to its default target, stream D1, activities b1, b2,
and b3 and the activities that have been delivered to it from its child
streams.
Stream D1 delivers to the integration stream activities a1, a2,
and a3 plus the activities that are delivered to it from its child
streams.
A child stream rebases to baselines in the parent stream to receive activities
that were delivered by other development streams. Typically, these change
sets are in recommended baselines. For example:
Stream D3 rebases to recommended baselines in stream D2.
Stream D2 rebases to recommended baselines in stream D1.
Stream D1 rebases to recommended baselines in the integration stream.
Although the integration stream is a child of the project, it does not
have a default relationship. If the project manager wants the integration
stream to have a default relationship, an integration stream in another project
can be specified as the default target of deliver operations and the source
of recommended baselines to be used for rebase operations.