About baseline considerations in the deliver operation

As with dependencies between activities in the deliver operation, in some situations, baselines can affect the deliver operation. If the foundation baseline of the source stream is different from that of the target stream, the deliver operation includes activities in the foundation baseline plus all activities created after the foundation baseline. This baseline difference prevents you from delivering only selected changes.

For example, the Feature stream in the figure below is configured with baseline 0. The developer working in the Developer1 stream delivers activity Activity1 to the Feature stream.

A triangle divided in half represents an integration stream. It is version zero, the initial version. To the right, a triangle divided in half represents a feature stream, version zero. To the right of that, a triangle divided in half represents a development stream, version zero. From the development stream, Activity 1 is delivered to the feature stream. After activity one is delivered, baseline 1 is created in the feature stream. From the development stream, Activity 2 is delivered to the feature stream, but cannot be delivered individually to the integration stream.

The owner of the Feature stream creates baseline 1 in that stream. Activity1 is included in baseline 1. The developer in the Developer1 stream continues working on a new activity and delivers activity Activity2 to the Feature stream.

If the integrator of the Feature stream delivers work to the Integration stream, the deliver operation includes Activity2 plus the activities included in baseline 1. The integrator cannot deliver only Activity2.

Another baseline consideration arises when you deliver to an alternative target stream, as shown in the figure below.

A triangle divided in half represents the Integration2 stream, version A. To the right, a triangle divided in half represents the Integration1 stream, version zero. To the right of that, a triangle divided in half represents a development stream, version zero. From the development stream, Activity 1 is delivered to the Integration2 stream. On the developer stream, below Activity A, baseline D is created. Below baseline D, Activity2 is created. Activity2 cannot be delivered individually to the Integration1 stream.

The Developer1 stream delivers Activity1 to an alternative target, the Integration2 stream. As an intermediate step, the deliver operation creates a hidden baseline D (referred to as a deliver baseline) in the Developer1 stream. If the Developer1 stream next tries to deliver only Activity2 to the Integration1 stream, the deliver operation requires that the changes associated with the deliver baseline (Activity1) be delivered. In this case, you cannot deliver only Activity2, but must deliver Activity1 (which is included in the deliver baseline) also.