First Attempt: Large-Cluster Aggregate

The team put a lot of weight on the words Products have in the first statement, which influenced their initial attempt to design Aggregates for this domain.

It sounded to some like composition, that objects needed to be interconnected like an object graph. Maintaining these object life cycles together was considered very important. As a result the developers added the following consistency rules to the specification:

• If a backlog item is committed to a sprint, we must not allow it to be removed from the system.

• If a sprint has committed backlog items, we must not allow it to be removed from the system.

• If a release has scheduled backlog items, we must not allow it to be removed from the system.

Get Implementing Domain-Driven Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.