← All articles
System design

A system diagram should be easy to revise

A diagram is useful when you can change your mind without redrawing everything.

A yellow piece lifted out of a curved arrangement of colored pieces

The first version of a system diagram rarely survives the conversation that follows it. Someone asks where a request goes when a service is unavailable, or whether two boxes actually have different responsibilities. The drawing needs to keep up.

Start with meaning

A useful box names a responsibility. A useful connection says what moves between responsibilities. Those choices give you something concrete to question and revise.

One request, several responsibilities
  1. Client
  2. API
  3. Work queue
  4. Worker

In this example, adding a queue changes the story. The API accepts a request, while the worker handles work later. That is a design choice worth discussing, not merely a new shape on the page.

Keep the conversation moving

When the drawing is hard to edit, people tend to explain around it. The diagram then stops representing the design under discussion. Make changes while the question is fresh: rename a component, reroute a connection, or remove an assumption that no longer holds.

Try that change in Lycana with the four-part flow above. Rename the worker or change the queue connection, then check whether the remaining path still says what you intended. The useful result is a diagram you can question again during the next review.

The goal is not a perfect first sketch. It is a shared picture that remains useful as the design becomes clearer.

← Back to the blog