Alternate targets in the same project

Within the same project, streams that share foundation baselines can share changes (see Figure 1).
Figure 1. Direct stream relationships for alternate target deliver operations

Stream D1 has two child streams D2b and D2c configured with baseline D1.bl0 and has another child stream D2a configured with an advanced baseline D1.bl1. Child stream D2b has a child stream D2b_1 and child stream D2a has a child stream D2a_1.

Streams that share the same foundation baselines have a direct relationship and can share changes by using alternate target deliver operations. For example, child streams D2b and D2c share as their foundation baselines the recommended baselines in D1.bl0 from parent stream D1. All the elements that are in the foundation baselines of streams D2b and D2c are in the foundation baselines of the child stream D2a.

Using an alternate target deliver operation, you can migrate activities to a sibling stream or to a stream related to a sibling stream rather than to a parent stream. Delivering activities to any stream other than the parent stream can also include other activities from the foundation baselines of the source stream. What changes are migrated depends on the relationship of the foundation baselines of the source stream relative to the target stream. For example, in a deliver operation from stream D2b to D2c, from stream D2c to D2b, or from stream D2b_1 to D2c, because the foundation baselines are the same, only the changes in the source stream are migrated.

Some alternate target deliver operations can be forward. This involves delivering activities to a sibling stream that has an advanced baseline or has newer foundation baselines. For example, in Figure 1, migrating changes from stream D2b to D2a involves a forward deliver operation. Because all changes in foundation baselines of stream D2b are in those of D2a, only the activities that are in stream D2b are delivered.

However, alternate target deliver operations typically migrate more changes than you at first might anticipate. The alternate target deliver operation can also be backward. This involves delivering activities to a sibling stream that has not rebased to the newer, recommended baselines. For example, in Figure 1, migrating changes from stream D2a to D2b involves a backward deliver operation. Because the target stream D2b does not have all the changes that the source stream D2a has, the operation additionally migrates to stream D2b activities from baseline D2a.bl1 in stream D2a.

Some alternate target deliver operations involve indirect baseline relationships (see Figure 2).
Figure 2. Indirect stream relationships for alternate target deliver operations

Stream D1 has two child streams D2b and D2c configured with baseline D1.bl0 and has another child stream D2a configured with an advanced baseline D1.bl1. Child stream D2b has a child stream D2b_1 and child stream D2a has a child stream D2a_1.

A stream can migrate its changes to a stream that has an indirect relationship. The deliver operation often includes activities from the foundation baselines of the source stream. The following are examples.
  • From the child of one stream to the child of a sibling stream (cousin to cousin).

    For example, a deliver operation from stream D2b_1 to D2a_1 includes activities contained in baseline D2b.bl1.

  • From a grandchild to a grandparent stream or to another direct ancestor.

    For example, a deliver operation from stream D2a_1 to D1 includes activities contained in baseline D2a.bl1.

    A deliver operation from stream D2b_1 to stream D1 includes activities contained in baseline D2b.bl1.