HN
Today

More common mistakes to avoid when creating system architecture diagrams

This article dissects seven common blunders in creating system architecture diagrams, from ambiguous labeling to distracting animations and the current limits of AI-generated visuals. It sparked a lively Hacker News debate on the true purpose and efficacy of such diagrams for various audiences. Commenters questioned their utility for new developers, emphasizing the need for audience-specific detail, and offered practical tips for clearer communication through explicit arrow meanings and structured frameworks like C4.

76
Score
30
Comments
#5
Highest Rank
7h
on Front Page
First Seen
Mar 22, 1:00 PM
Last Seen
Mar 22, 7:00 PM
Rank Over Time
597781011

The Lowdown

Billy Pilger's article, "7 More Common Mistakes in Architecture Diagrams," serves as a follow-up to a previous post, aiming to guide developers and architects in creating clearer, more effective system documentation. The author argues that many common diagramming practices lead to confusion and misinterpretation rather than improved understanding.

  • Missing Resource Names: Diagrams often label resources by type (e.g., "Database") but omit specific names (e.g., "Orders Database"), reducing clarity and disambiguation.
  • Unconnected Resources: Including elements that have no visible connection to the rest of the system leaves their role ambiguous and suggests the diagram is trying to convey too much.
  • "Master" Diagrams: Attempting to represent an entire complex system in a single diagram typically overwhelms viewers; breaking it into multiple, focused perspectives is usually more effective.
  • Conveyor Belt Syndrome: Over-simplifying behavioral diagrams by showing data flowing in a linear fashion, ignoring back-and-forth interactions and orchestrations, misleads viewers about system reality. Sequence diagrams are suggested as an alternative.
  • Meaningless Animations: Animated diagrams, often seen in marketing, add no technical value and serve primarily as distractions.
  • Fan Traps: Loss of relation information when intermediate resources collapse multiple connections (e.g., an event broker obscuring specific producer-consumer relationships). This can be fixed by adding more granular intermediate resources.
  • Over-reliance on AI: While AI can assist in "whiteboarding," it currently struggles to generate high-quality, accurate system diagrams directly from source code due to lack of training data, code analysis difficulties, and inability to make strategic choices about what to include or omit.

Pilger's advice emphasizes precision, clarity, and tailoring diagrams to their purpose, pushing back against practices that prioritize aesthetics or quantity of information over genuine communication.

The Gossip

Diagram Dilemmas: Utility and Audience Ambiguity

Many commenters questioned the overall utility of system architecture diagrams, particularly for new developers, suggesting they can be more confusing than helpful. A strong sub-theme emerged regarding the critical importance of knowing the audience (marketing, technical, business) to tailor the diagram's detail and purpose. Some argued diagrams are "lossy" and prose is superior for exact communication, while others defended them as a dense way to convey information, especially for visual learners or non-technical stakeholders.

Arrow Accuracy & C4 Clarity

A significant portion of the discussion revolved around the clarity and interpretation of arrows in diagrams. Commenters pointed out the common mistake of not defining what an arrow represents (e.g., control flow vs. data flow), advocating for explicit labeling with verbs. The C4 model was frequently cited as a good practice for its structured approach to abstraction levels and its emphasis on clear interaction verbs, with some offering practical solutions like color-coding arrows to denote different types of relationships or even responsible teams.

Specific Architectural Aims & Article's Ailments

Some commenters directly engaged with the article's specific points, either agreeing, offering counter-perspectives, or highlighting irony. For instance, while the article criticized "master diagrams" and unconnected resources, one commenter noted the author's own example of a "master diagram" contained an unconnected resource. There was also debate on whether unconnected resources are always useless, with some arguing they can still convey valuable information, and a disagreement over encoding types in resource names.