Summary
It’s very likely that the majority of the software architecture diagrams you’ve seen are a confused mess of boxes and lines. Following the publication of the Manifesto for Agile Software Development in 2001, teams have abandoned UML, discarded the concept of modelling and instead place a heavy reliance on conversations centered around incoherent whiteboard diagrams or shallow “Marketecture” diagrams created with Visio. Moving fast and being Agile requires good communication, yet software development teams struggle with this fundamental skill. A good set of software architecture diagrams are priceless for aligning a team around a shared vision and for getting new-joiners productive fast.
This session explores the visual communication of software architecture and is based upon over a decade of Simon’s experiences working with software development teams large and small across the globe. He’ll look at what is commonplace today, the importance of creating a shared vocabulary, diagram notation, and the value of creating a lightweight model to describe your software system using the C4 model, which he created as a way to help software development teams describe and communicate software architecture, both during up-front design sessions and when retrospectively documenting an existing codebase.
For who?
This workshop is primarily for software developers and architects, but anybody involved with software development will gain some benefit.
Agenda
- Introduction
- Software diagramming exercise 1
- Review and feedback Diagramming anti-patterns and typical problems The "model-code gap"
- C4 model - core diagrams Abstractions and creating a shared vocabulary with a ubiquitous language An overview of the C4 model Notation and tips for better diagrams System Context diagrams Container diagrams Component diagrams
- Software diagramming exercise 2
- C4 model - supplementary diagrams C4 and UML System Landscape diagrams Dynamic diagrams Deployment diagrams Frequently asked questions
- Tooling Diagrams vs models Structurizr DSL demo
- Discussion, questions and wrap-up
Requirements
No prerequisites.