Hacker News new | ask | show | jobs
by hanszarkov 1417 days ago
Many of my documents do indeed have a similar layout for design and it is nice to see efforts like this to create more rigor in SW architecture. As a practitioner (and being opinionated), I have these observations:

- The "Building block view" is really the high level Structural Design. I tend to use structural decomposition to relay this information, iteratively breaking down into subsystems, components, etc. For this reason I prefer the term Structural. - The "Runtime view" is really the Behavioral Design of the system, the sum of behaviors of a system is what you see at runtime.

I wonder if the terminology chosen for arc42 comes from a more academic or earlier time in SW architecture and design.

I'm also a fan of the C4 Model[1] for visualization. So I think I'm going to try to incorporate the two together, like, utilize arc42 for a formal and disciplined approach to architecture documentation coupled with the informative visual paradigm of C4 Landscape, Context, Containers, and Components.

[1] https://c4model.com

1 comments

As I was reading this I felt that it overlapped and complemented the C4 approach in a lot of places. There's even a superficial connection: C4 is contained in the title!
Agreed, the one thing I really think Simon [1] got right about visuals is the information they relay. Seeing a box diagram is one thing, e.g. boxes, arrows, names of tech (omg, @see AWS diagrams - they're really unexpressive deployment diagrams).

Compare that to a C4 Landscape or Context diagram - and its just night and day - so much more meaningful information and the ability to express not just structure, but to provide hints at data flows, actors, and externalities. In the end, I've found the most value for C4 in communicating architecture to upper management and new hires. These diagrams really make more sense than boxes and lines.

For arc42 I find the document content really appealing - its like engineering thinking. There is no standard template/model for design docs, perhaps this could start a baseline or trend to do something similar. I do still prefer Structural and Behavioral classifications.

[1] Simon Brown, creator of C4 https://simonbrown.je/

That‘s what we‘re doing and it works great. https://www.mytechiebits.com/ARC42 shows how the sections of Arc42 map to the C4 diagrams