# To diagram is to model

When it comes to drawing architectural diagrams, many architects prefer to use the tool that allow them to express their diagram in code. For example, a few tools that allow architects to code diagrams are PlantUML (opens new window) or Structurizr (opens new window). The reason of this preference is because of the maintenance burden of updating the diagrams. The idea is we should prefer speed of creation over the aesthetic of the diagrams.

I’ve attempted to follow this principle but it has never really worked for me, I resorted to drawing the diagrams manually. The reason I do this manually is because of the same reason of I write, it helps me think (Writing makes thinking possible). Moving and creating boxes and lines help me think about boundaries, whether the system is getting too complicated, or is it evolving in the right direction.

Diagrams as code works for lower level diagram, such as a sequence diagrams.