Aggregate boundaries drawn by transaction, not by noun

An order aggregate containing its lines, its shipments, its refunds and its notes, loaded in full to change a delivery address.

the question that redraws it: what must be consistent
within a single transaction?

  order + lines        yes — the total depends on them
  order + shipments    no  — a shipment is created later,
                             by a different process, and
                             its own consistency rules
  order + refunds      no  — same
  order + notes        no  — a note has no invariant at all

result: one aggregate becomes four, and the address change
loads 3 rows instead of 240.

Drawing the boundary by what belongs together in a sentence produces large aggregates, because English groups things by association and transactions do not. The consistency question gives a smaller answer nearly every time, and the smaller answer is what makes concurrent edits possible — two people touching the same order for different reasons stop colliding once they are touching different aggregates.