Creation of composite baseline descendants

If you introduce changes in a member component in a composite baseline, related baselines must be updated. The following are reasons to create a new baseline:
  • Changes in the component since the last baseline was created
  • Changes to the dependencies (a member is added or dropped)
  • Replacement of member baselines by different baselines on the component
A change in one of the dependencies is propagated up to the root as new baselines are created to include the new member baselines. For example, there are changes in component C, and a new baseline is created on component A (see the following figure).
Figure 1. Creation of a composite baseline descendant

Two sets of composite baselines are shown side-by-side. On the left, baseline A.BL1 sits above baseline B.BL1 which sits above baselines C.BL3 and D.BL1. Baseline C.BL3 contains three activities c1, c2, and c3. On the right, baseline A.BL2 sits above baseline B.BL2 which sits above baselines C.BL4 and D.BL1.

When you create a new baseline on component A, the work done on component C causes a new baseline, C.BL4, to be created to capture the changes. Because baseline C.BL3 was replaced by C.BL4, and baseline C.BL3 was a member of composite baseline B.BL1, a new baseline, B.BL2, on component B is made to record the relationship with baseline C.BL4. Because baseline B.BL1 was replaced by baseline B.BL2, a new baseline A.BL2 on component A is needed.

Unless you explicitly add dependencies to a composite baseline or drop dependencies from a composite baseline, when a baseline is created following on a composite baseline, the new baseline inherits the members of its predecessors. When a new descendant baseline is created, all dependencies of the composite baselines are checked and new baselines are created as needed.

A new baseline need only be created for the composite baseline, not for any member baselines of unchanged components. Unless a new baseline is needed for a project that is not using the composite baseline, you should not have to create a new baseline for component D. Baseline B.BL2 inherits baseline D.BL1 unchanged. A new baseline for component D would not be a member of the composite baseline B.BL2.