1. 8

  2. 2

    This is my preferred modeling system, and we pay for Structurizr.com at work, with our whole system diagram kept in Kotlin (because we’re a hip startup and Java turned people off so I used the Kotlin plugin so it sounded new and hip), so as new services come into the system devs can just open a PR with their documentation of how they fit in overall. It’s really great.

    1. 1

      It seems to me that this is a set of very specific views for web applications. The perspective is certainly implementation focused, but what is often important (and emphasised by ArchiMate, but not so much by UML) is capturing requirements, modeling business processes and giving an implementation-agnostic view of the solution. Maybe the underlying issue that C4 tries to address is that architecture work does not seem useful to developers? I personally would argue that architecture should shift the focus out of the implementation and onto requirements. Designers need to understand the requirements, information structure and processes to create interfaces. Developers should also have that information to understand how the software could be used. Architects can help there, and it’s a critical part of application design that is often neglected.

      1. 1

        I thought the books by Simon Brown (inventor of C4) were a good read if you want to be an architect or want to (as I did) broaden your horizon if you are an architect (or, to some extend, tech lead or CTO).