Software Architecture Diagramming

using C4 Model

If you ask for the architecture of a building

But if you ask for the architecture of a software...

Building software is complex!

  • Complexity
  • Maintainability
  • Scalability
  • Readable code
  • ...

Modeling Languages

  • UML
  • AchiMate
  • SysML

Why don't we use them?

C4 Model

Context

Container

Component

Code

Benefits of using C4 Model

  • Predict technical challenges
  • A better understanding of the problem
  • Accessible to non-technical people
  • Consistent solution
  • Better documentation
  • ...

Why should we use it?

  • Take one step backward to take two steps forward
  • Improve our solutions
  • Decentralized knowledge
  • Improve engineer onboarding
  • ...

C4 Model is not a silver bullet!

Thanks!

Questions?

Software architecture Diagramming

By Dorian Neto

Software architecture Diagramming

  • 805