Live data from Hacker News

Architecture diagrams enable better conversations

unravelled.dev

61–70 of 141 posts

Re: Architecture diagrams enable better conversations

#61
post #17

Code should generate diagrams automatically as you write it. Then you can see the complexity increase as you go, instead of looking back on a tangled mess.

How do you do that with disparate, disconnected systems?

Parse all the code with tree-sitter[1].

[1]: https://tree-sitter.github.io/tree-sitter/

Re: Architecture diagrams enable better conversations

#62

What are your favorite diagram tools? Looking for excalidraw alternatives with good Cloud resource icon support

https://VisualFlows.io it is 100% free - and we offer all AWS, GCP, and Azure icons, or just add your own via drag n drop.

Sample UML: https://app.visualsitemaps.com/user_flows/share/e64da8ed-2ef...

Re: Architecture diagrams enable better conversations

#65
post #33

I've been using https://structurizr.com/ to automatically generate C4 diagrams from a model (rather than drawing them by hand). It works well with the approach for written documentation as proposed in https://arc42.org/ . It's very easy to embed a C4 diagram into a markdown document. The result is a set of documents and diagrams under version control that can be rendered using the structurizr documentation server (fo…

Recently been doing the same Structurizr consolidation since amongst our various teams we had a mish-mash of Lucidchart, Miro, and other collaborative design tools.

One thing I was experimenting with (read: struggling with!) was a way to keep per-service (per-repo) architecture workspaces which are also synchronized on-commit to a central workspace and used !include to bind them together. The moving parts are not difficult - but writing your DSLs in a way that can handle this can be. This idea would let individual projects be self-sufficient and generate their own README doc diagrams as part of their own build process; but also have a central site which shows all the services as well as inter-service connectivity.

Did you ever consider https://github.com/avisi-cloud/structurizr-site-generatr to bring together your ADRs in with your architecture, or do you keep them separate?

Re: Architecture diagrams enable better conversations

#66

There's some discussion here about linking diagrams to code or vice-versa. And while that's useful for documenting code already written, where I personally have found diagrams to be the most useful is in the planning discussions before and during writing the code in the first place. A room full of people can talk about things for hours without making progress, but as soon as you starting moving boxes and arrows aroun…

They are great because you can find so many problems at much lower cost earlier. And communication across domain and skill levels.

Maybe their unpopularity among developers stems from trauma of the UML+OOO+Waterfall days and an overcorrection in the opposite direction.

Or many more are doing it and just not talking about it since it's not as exciting as code.

Re: Architecture diagrams enable better conversations

#67
post #17

Code should generate diagrams automatically as you write it. Then you can see the complexity increase as you go, instead of looking back on a tangled mess.

> Code should generate diagrams automatically as you write it.

That's fine for some purposes, but for general discussions around many subjects (project planning, security, integration testing, etc) you won't get there from generated diagrams out of some code in an application.

Re: Architecture diagrams enable better conversations

#68
post #54

What are the tools people use to draw diagrams? I've tried many things and settled on Miro on an iPad (infinite canvas + pencil), but I still think this space is underinvested in. The downside of diagrams from code is the loss of the wysiwyg aspect -- I want to be able to manipulate things visually.

miro works slightly better than Gliffy, imo.

Re: Architecture diagrams enable better conversations

#69
post #19

https://c4model.com/img/c4-overview.png That's what the argument is... and I'm in favour, there used to be such great architectural tools that were mostly UML but they did this well. I miss Visio, it was awful but everyone used it and it improved communication. I feel Google Suite is missing an equivalent, it's now draw.io, there's a real gap here.

UML is awful when you pick up its meta stuff and try to use it 100% perfect.

Otherwise it has all critical modeling methods and established a shared visual understanding. I prefer UML any day over eg lucidchart or Visio. Not that they cannot draw an architecture but boxes are what exactly again there?

I especially like UML because there are no AWS logos and database icons. When drawing diagrams I am not there to impress how many icons I can do.

Re: Architecture diagrams enable better conversations

#70
I introduced C4 into my org a few years ago after disparate and unfocused documentation (if there even was any) and a lack of organizational competency on our own systems.

We’ve found that you get a lot of value out of the first two levels of C4 alone. If your shop is good at UML and keeping it up-to-date, awesome, that work snaps right in as the additional layers. But whether you do 3 and 4 or not, context and container give everyone a lay of the land in easy to digest, progressive glimpses. Plus, the approach is so simple you can use it in whiteboard sketches, back of the napkin, or whatever you’ve got.

Personally, I use PlantUML with a plug-in for your IDE of choice to author our formal artifacts. Excalidraw for doing it during real-time collaboration sessions. All of this is free.

Post reply on HN