I saw “C4 Models” on the front page of HN. Decided to investigate further and noticed it was a recently developed diagramming paradigm.
I watched this talk by the author 4 years ago and was impressed with the ease of use and understanding. As well as the ability to develop your own notation.
https://youtube.com/watch?v=x2-rSnhpw0g
I am building another new project soon and will use this modeling system to design the high level overview.
Has anybody tried using this recently? Did other devs or stakeholders easily understand what you were trying to build given these diagrams?
More info: https://c4model.com/
I only know https://arc42.org/ which seems to be an alternative, but I haven’t used either methods. Anything is good when it comes to documentation. I have written software for surgery devices and the process, code, scripts, and even the documentation MUST be followed, documented, tracked, signed, etc. It’s really a breath of fresh air as you don’t have to fight with other devs and managers to write the doc, because, well, the doc must be there and it’s the law, or you’ll get your ass kicked by the FDA or other government bodies if you don’t it right.
It’s fine. It’s minimalist and gives consistency so it’s good to have when you’re dealing with a large number of products and don’t want to deal with the particular individual diagramming styles of each product’s lead. But I’d not use it beyond a starting point. It’s no substitute for infrastructure diagrams or data/control flow diagrams for complex systems.
I’ve never delved into the last C though. That level of detail feels innane to me. But if you’re visual and you have it fully automated it certainly can’t hurt.
C4 is used at my company, and I am quite happy with it. There is also a open source DSL called Structurizr to create the diagrams in various formats.
Here is an alternative Piped link(s): https://piped.video/watch?v=x2-rSnhpw0g
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
I like it quite much and use it for personal projects sometimes. It helps me a lot to structure my thoughts into a design that I can use to discuss it further. I usually draw diagrams with draw.io. This tool has a C4 model plugin.
I use UML sequence diagrams though when it comes to designing/understanding runtime behavior.