Daily tip #6
Tip of the day #6
Don’t use the agile principle “Working software over comprehensive documentation” to not create a good documentation. Don’t you know how to start? Try the C4 model from Simon Brown and c4builder to help you create the diagrams.
More info
The C4 model is a way to document and communicate the architecture of a software system using four types of diagrams: context, containers, components, and code¹. The model is based on the idea of using abstractions to represent different levels of detail and different audiences². The model is also notation and tooling independent, meaning that you can use any symbols or tools to create the diagrams¹.
The context diagram shows how the software system interacts with the people and other systems in its environment. The container diagram zooms into the software system and shows the high-level technical building blocks, such as web servers, databases, mobile apps, etc. The component diagram zooms into a single container and shows the components inside it, such as classes, modules, services, etc. The code diagram zooms into a single component and shows how it is implemented using code elements, such as classes, methods, functions, etc¹.
The C4 model is useful for describing and communicating software architecture in a simple and effective way. It helps to avoid the problems of complex or incomplete documentation that can make it hard to understand and maintain the software system². The C4 model also supports different perspectives and scenarios, such as dynamic behavior, deployment, security, etc³.
References
[1] The C4 model for visualising software architecture. https://c4model.com/.
[2] C4-Model: por que documentar a arquitetura dos seus projetos?. https://www.zup.com.br/blog/c4-model.
[3] O modelo C4 de documentação para Arquitetura de Software - InfoQ. https://www.infoq.com/br/articles/C4-architecture-model/.
There is no repo today, the main reference c4model.com is a great resource to learn more about the C4 model and how to use it.