Chapter 21. Emphasis Over Completeness

Show the Forest, Not the Trees

Can you spot the performance bottleneck in this database schema?
Can you spot the performance bottleneck in this database schema?

When sharing a diagram, you might receive feedback such as, “System ABC is missing.” Even though it’s well intentioned, completeness shouldn’t be your architecture diagrams’ primary goal. Rather, you should depict the appropriate scope. What’s the right scope? One that’s big enough to be meaningful, small enough to be comprehensible, and cohesive enough to make sense.

In large organizations, there’s a constant danger of being overcome by the sheer size and complexity of the environment. So, putting some blinders on is allowed, and in fact encouraged.

Diagrams Are Models

When discussing architecture diagrams, it’s good to remind ourselves why we draw them in the first place. Architecture diagrams are models of reality (Chapter 22). The most common model of reality we use in daily life is a map: maps help us decide where to go and how to get there. To do so, maps select a specific scope and emphasis. For example, a Chicago street map that shows only half of downtown would be awkward. However, including all of Lake Michigan wouldn’t be very useful, just like adding Springfield at the same scale. A map designer chooses conscious boundaries and a conscious level of detail based on the map’s intended purpose.

Models, whether maps or architecture diagrams, ...

Get The Software Architect Elevator 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.