The debugging problem nobody budgets for
A synchronous call chain is traceable by following the stack. An event-driven flow, once something goes wrong three hops downstream from the originating event, requires distributed tracing instrumentation specifically designed for this pattern — and organisations frequently adopt the architecture before building that tooling.
The result is a system where 'what caused this' becomes a multi-team forensic investigation instead of a stack trace, a cost that's rarely weighed honestly before adoption.
Schema ownership is the prerequisite, not an afterthought
Without a clear owner and contract for each event schema (echoing the data contract argument, applied to events specifically), producers change event shapes without warning and consumers break silently — the event-driven equivalent of the undocumented API breaking change, but harder to detect because there's no direct request-response relationship to notice the failure in.
Organisations that succeed with event-driven architecture almost always have this discipline in place before scaling the pattern, not as a retrofit after the first major incident caused by an unannounced schema change.
A narrower, lower-risk starting point
Rather than adopting event-driven architecture organisation-wide immediately, start with a single, well-bounded domain where the reactivity genuinely matters and the team is willing to invest in tracing and schema discipline specifically for that domain — proving the pattern's value and building the organisational muscle before generalising it.
This mirrors the same sequencing lesson that applies to streaming versus batch and to microservices generally: adopt the more complex pattern where it's earned, not as a default architectural style.
Loose coupling without traceability is not an architecture. It is an incident waiting for a root cause nobody can find.MNB Integration Practice
Key actions
- Build distributed tracing before scaling event-driven adoption
- Assign explicit ownership and contracts for every event schema
- Start with one well-bounded domain, not an organisation-wide default
- Weigh debugging investment honestly against the coupling benefit sought