Architecture Drawing
Solution architecture can be expressed through many tools and methods. The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
Technology solutions can become very complex and, as a result, their visual representations. There are many framweworks and tools that provide us great documentation structure, enabling governance and solution management that goes beyond visual representations. Keeping it to a practical level, we encourage you to always have an architecture drawing.
You might ask yourself: what does that mean ? Well, have you ever heard: "Do you understand or do you want me to draw it?". Behind that question there's a learn telling us that maybe drawing a problem's solution might be the more effective way to explain it.
Programming enterprise software is all about interacting with different people, departments even companies and making everyone fit into a solution. We definitely believe that a good drawing representing your problem's solution is more effective way to get everyone on it. Drawing boxes and connecting them with arrows might be the easiest way to start and even that will start giving you benefits. At DB1 we encourage using of c4model to do that. It's a simple, practical and free tool to represent your solutions in 4 levels of detail. Each one of them will be more effective depending on the level of the discussion and the audience involved.
How many times have you stopped your work to explain someone a business rule or how the pieces of software fits in the bigger picture? We believe that a good c4model drawing can answer those kind of questions instead of you. Whenever the team has a question the first move is to ask the diagram. This will help maintaining it updated, meaningfull and overall usefull for you and your team.
After checking out c4model documentation you will find out that it's very easy to use and practical. Write a few diagrams and use the diagram review checklist to garantee you are adhreant to their best practices.
To make this even better, there's a way to turn code into a c4model diagram through C4-PlantUML. You can add this to your code review process, making sure that every change in code reflects to the diagram. From time to time you can check if your solution is moving towards the target defined by you and your team (from a technical perspective).
Last but not least, DB1 has created an e-book about c4model that might help you for a quick start.
Credits