Navinya Shende
Principal Software Engineer at Red Hat with 10 years of experience in building production ready services. Speaker at DevConf.cz 2023, TechGenie CY24. Building internal tools for solving AI use cases at Red Hat.
Red Hat
Job title –Principal Software Engineer
Session
In this talk, we delve into the pivotal role of architectural diagrams in the design and development of successful software engineering projects. These diagrams serve as foundational tools for collaboration, planning, and communication, facilitating the articulation of design decisions and project vision while delineating system boundaries. By distilling complex information into clear, concise visuals, they offer a holistic perspective on project architecture. However, misinterpreting these diagrams and establishing erroneous guidelines can lead projects astray. We explore the significance of creating minimal, meaningful, and consistent architectural diagrams, fostering clarity and consensus among project stakeholders. Through the review of available tools and best practices, we illuminate the importance of leveraging architectural diagrams effectively to drive project success.
We also talk about Diagrams as Code, which introduces an advanced approach to managing diagrams within software development through code. Emphasizing the significance of version control, automation, and collaborative workflows, Diagram as Code 2.0 includes improvements like streamlined syntax, seamless integration with existing tools, and enriched visualization capabilities. Diagrams, integral components of the development process, underscore their pivotal role in facilitating communication and comprehension among team members.
We will be sharing insights on
-What are the different types of software engineering/architecture diagrams?
-Which tools should be used to draw architectural diagrams?
-Which tools to NOT use? When and Why?
-Diagrams-as-a-Code and Why to use it?
-Comparisons of PlantUML, Structurizr, Mermaid
-Diagram as Code 2.0 and C4 Model
-Some tips for creating architectural diagrams.