Live data from Hacker News

Ask HN: Visualize Software Architecture/Concepts

news.ycombinator.com

11–20 of 21 posts

Re: Ask HN: Visualize Software Architecture/Concepts

#13
https://c4model.com/

https://en.wikipedia.org/wiki/C4_model

Level 1: System context diagram

Level 1, a system context diagram, shows the software system we are building and how it fits into the world in terms of the people who use it and the other software systems it interacts with.

Level 2: Container diagram.

Level 2, a container diagram, zooms into the software system, and shows the containers (applications, data stores, microservices, etc.) that make up that software system. Technology decisions are also a key part of this diagram.

Level 3: Component diagram

Level 3, a component diagram, zooms into an individual container to show the components inside it. These components should map to real abstractions (e.g., a grouping of code) in our codebases.

No need to go deeper considering your audience.

https://github.com/plantuml-stdlib/C4-PlantUML

Re: Ask HN: Visualize Software Architecture/Concepts

#17
Do they really need (or care) to know the underlying architecture? Typically the non technical audiences I've worked with care more about how it solves their problems, how much it costs, who responds when something goes down (and how long it takes), what your pros and cons are compared to the competitors, etc. They typically glaze over at the architecture part or take a picture of it and send it to the devs afterward.

Why do they need to know what an API is, rather than what your integration will do for them and how it works with their existing system and process? That kind of stuff belongs in the appendix, at a very high level of abstraction (ie your software sits here, ours is here and connects to it, this is your workflow before and after). If you're going into C4 territory and explaining your whole stack, that's probably way too much detail that's not relevant to them and also may change later anyway. My 2c is to focus on the what and why, less so the how. Tell them their devs can reach out to you separately for a technical deep dive if they need it.

Re: Ask HN: Visualize Software Architecture/Concepts

#18
Write a code base scanner that traces source of all identifiers.

This can generate data flow diagram.

Run the scanner across codebases, you get entire distributed software's flow.

There will be loose ends because of urls formed from configurations. It's fine, make it work, then improve.

Re: Ask HN: Visualize Software Architecture/Concepts

#20

Do they really need (or care) to know the underlying architecture? Typically the non technical audiences I've worked with care more about how it solves their problems, how much it costs, who responds when something goes down (and how long it takes), what your pros and cons are compared to the competitors, etc. They typically glaze over at the architecture part or take a picture of it and send it to the devs afterward…

The problem is that the non-technical people are working as architects.
Post reply on HN