I dunno, I kind of subscribe to software architecture being like, a set of design decisions that guide the implementation. That's what (in my experience) most software architects do; lay down guidance and structure for the software engineers.
> The C4 model was created as a way to help software development teams describe and communicate software architecture, both during up-front design sessions and when retrospectively documenting an existing codebase.
> It's a way to create maps of your code, at various levels of detail, in the same way you would use something like Google Maps to zoom in and out of an area you are interested in.
This seems different.
I have no idea why you would refer to the a code diagram as your software architecture. That's literally the code level. How is that architectural?
It's like saying the circuit diagram in the plug should go on the house blueprint. "You should use automated tools for this" ... so, it's for documenting existing code bases at the per-function level?
How is that useful for architecting / designing / planning software?
That sounds like software structure to me, not software architecture.
Sure, a map of existing software that explains how it's structured sounds cool... but I dunno. Like, if you're talking about design patterns, you're not gonna give someone a function-by-function map of how to implement a singleton. They're not stupid. You'd tell them you think it should have a singleton (or repository, or whatever).
Software design is totally a thing, and this seems entirely reasonable for designing software.
...but software design and implementation and software architecture are not the same thing and they're not done by the same people, in my experience.
This feels more like... systems design, which a software architect would contribute advice to in the way that the systems were designed so they aligned with good software architecture principals.
Maybe I'm just being pedantic. /shrug