Hacker News new | ask | show | jobs
by andystanton 1234 days ago
We make extensive use of sequence diagrams using PlantUML at my work. We don't rigorously adhere to the correct UML arrow types and so on, instead preferring it as a fast way to clearly communicate data flow over time. The fact that it's in a text format means it can be conveniently edited and stored in source control.

I've had less success with component diagrams to represent our systems because the layout engine in PlantUML is (or used to be) quite limited. This resulted in diagrams that didn't communicate the system as well as if I manually drew boxes and lines.

There is a fantastic plugin for Jetbrains IDEs that generates the diagrams in real time which is great for fast feedback, and can be used for driving out diagrams while presenting video calls.

Overall, my conclusion is that you can pick the parts that are useful to you and the people you communicate ideas with.

2 comments

We're in the same boat with component diagrams, where the layout engine is insufficient. What did you choose to do for alternatives?
I found using groups, colors and direction hints gets mostly around the issues. Enough that the benefits outweigh the downsides of switching to something else (that doesn't get source control, requires separate edit/export steps etc).

   group sys { 
      one -down-> two
   }
> There is a fantastic plugin for Jetbrains IDEs that generates the diagrams in real time which is great for fast feedback, and can be used for driving out diagrams while presenting video calls.

That's exactly how I use it!

> We make extensive use of sequence diagrams using PlantUML at my work. We don't rigorously adhere to the correct UML arrow types and so on, instead preferring it as a fast way to clearly communicate data flow over time. The fact that it's in a text format means it can be conveniently edited and stored in source control.

Similar situation, Github now supports rendering Mermaid (https://github.blog/2022-02-14-include-diagrams-markdown-fil...) but I'm yet to give it a try.