For any element in the change set of an activity, you must deliver all versions in your stream between the version in the change set and either the version most recently delivered or the version in the stream's foundation baseline (whichever is later). For example, in the figure below, version 3 of prog.c was delivered in a previous deliver operation.

The dependencies between activities B and C, which contain versions of prog.c, are as follows:
Developers are allowed to deliver activities to the target stream concurrently. However, if another team member's deliver operation has already checked out an element, you cannot deliver any changes to that element until the other deliver operation is completed or canceled.