A do record is very similar to a part record. The difference is that the acquisition of a do item does not start until the whole step it's within is ready to start. By contrast, the acquisition of parts is organised so that it ends when the step is ready to start.

This is useful to force serialisation for the case where the previous step produces something that is required by one or more ‘parts’ in this step. For example, say you make something as a left and right pair and each half of the pair can be made in parallel, but both need a common part to be made first. The following example achieves this:

method_do_parts

DO records can have First Alternative and Next Alternative variants in exactly the same was as part records.