Browse the collection
How can we lower coupling from between bounded contexts or systems
A bounded context should keep its internal details private
More info →DesignHow should you approach defining team boundaries when migrating a legacy monolith?
Accept Imperfect Boundaries in Legacy Decomposition
More info →DesignHow do I design Bounded Contexts?
Align bounded context with the value stream
More info →DesignHow do I design Bounded Contexts?
Align with domain experts
More info →DesignHow do I design a bounded context?
Align with evolutionary stage (the Simon Wardley heuristic)
More info →DesignHow do I design a bounded context?
Align with growth strategy
More info →DesignHow do I design a bounded context?
Align with historical domain boundaries
More info →DesignHow do I design a bounded context?
Align with investment strategy
More info →DesignHow do I design a bounded context?
Align with key revenue streams
More info →DesignHow do I design a bounded context?
Align with rate of change
More info →DesignHow do I design a bounded context?
Align with source of change
More info →DesignHow do I design a bounded context?
Align with transactional boundaries
More info →DesignWhen should I build software myself, or buy it off the shelve?
Build software for disruptive generic subdomains yourself
More info →DesignHow can we make our decision records more holistic and context-rich?
Capture Both Logic and Sentiment in Decisions
More info →DesignWhen a deployment causes an outage, should you revert or try to fix it in production?
Default to rollback rather than fix-forward
More info →DesignHow can I distil bounded context after an EventStorming session?
Design Bounded Contexts around EventStorming Policies
More info →DesignHow can I distil bounded context after an EventStorming session?
Design bounded contexts by looking at the humans during a big picture EventStorming
More info →DesignHow can I distil bounded context after an EventStorming session?
Design bounded contexts by looking at the one-way flow of orange sticky notes during a big picture EventStorming
More info →DesignWhat non-functional attributes are critical for maintaining quality in complex, modern systems?
Design for Modern Quality Attributes
More info →DesignHow can I make projection more adaptable?
Design for replayability
More info →DesignHow can we determine if an event is a valuable Domain Event or just technical noise?
Domain Events Must Carry Their Own Context
More info →DesignHow do you know if an architectural change will actually improve the team's situation?
Evaluate architectural options against actual team pain points
More info →DesignHow do you know if a technical modernization will actually improve the team's situation?
Evaluate architectural options against team frustrations
More info →DesignHow do I design a bounded context?
Isolate high-leverage shared capabilities
More info →DesignHow can I let my domain model be decoupled from technical complexity?
Keep your domain model decoupled from frameworks
More info →DesignHow can we detect if our decision-making process has become dysfunctional or is being weaponised?
Measure the Flow of Decision Making
More info →DesignHow do we allocate our limited quality and testing budget across a large, complex system?
Modulate Quality Investment by Domain Importance
More info →DesignHow do I design a bounded context?
Optimise for future potential
More info →DesignHow do I design a bounded context?
Organise for responsiveness in differentiator capabilities
More info →DesignWhen should I build software myself, or buy it off the shelve?
Outsource generic subdomains
More info →DesignIn modern distributed systems, where should we focus our efforts: defect prevention or incident recovery?
Prioritise Recoverability Over Flawless Deployment
More info →DesignHow do we resolve conflicts between a team's desire for local implementation convenience and broader architectural principles?
Prioritise System Integrity Over Local Convenience
More info →DesignHow do you limit the blast radius of canary deployments and experiments?
Recognize that global metadata creates global risk
More info →DesignHow do you shift focus from existing technical constraints to core business problems in a design discussion?
Reframe Problem Context
More info →DesignHow do I design a bounded context?
Separate engagement and revenue
More info →DesignHow should architects effectively communicate complex design and architectural concepts to diverse stakeholder groups?
Tailor Communication to Stakeholder Context
More info →DesignHow can we build quality in, rather than inspecting for it at the end of the process?
Treat Quality as an Emergent Property
More info →DesignHow can you guide autonomous teams to make sound decisions without direct command?
Use Architecture Principles as Decision Guardrails
More info →DesignWhen can it be appropriate to use ORM mapping in my domain model?
Use ORM in your domain model when rate of change is low
More info →DesignWhen and how should teams document their architectural decisions?
Write Down Decisions Early and Often
More info →No heuristics match your filters.
