The most efficient way to understand a new system is to draw all five diagrams from whatever documentation and code exists. Gaps in the diagrams are gaps in understanding — and often gaps in the design.
Example: A SaaS product (user-facing CRUD application with analytics)
| Diagram | What it reveals |
|---|---|
| D1 Request Flow | The API → service → database call chain; whether any external calls are in the critical path |
| D2 Data Storage | Which tables are shared between services (hidden coupling); whether the cache has a consistency model |
| D3 Event-Driven | The background job queue; whether it has a dead-letter queue and retry policy |
| D4 Data Pipeline | The analytics pipeline from events to dashboard; the lag between user action and visible metric |
| D5 Coordination | Whether the database has a leader-follower setup; what happens on leader failover |
None of these five diagrams can answer the other four’s questions. All five together reveal the complete failure surface.