After spending a year building a software & systems architecture platform, I
learned several things. First, no one does architecture the same way. In fact, the feedback we got about
what different teams want out of an "architecture" tool was so wildly different
that it was the primary reason we stopped pursuing that project.
Second, some teams value data-driven architecture (i.e. more formal architecture
models that support things like code generation or system analysis)
while others value not having prescribed structure and syntax. But every team
values ease of use. One of the top pain points we identified among all of teams
we talked to was that thorough architecture wasn't easy enough.
As a result, most teams use informal approaches to define architecture.
Informal "boxes and lines" diagrams are used by
every team even when formal architecture artifacts such as models are expected.