The workshop is aimed at software developers and architects, and is a guide to modern software architecture that's pragmatic rather than academic, and lightweight rather than "enterprisey".
What you'll learn
- An introduction to what software architecture is.
- The importance of software architecture
- Architectural drivers
- Requirements
- Quality attributes
- Constraints
- Principles
- Agility
- A definition of the software architecture role
- Technical leadership and the different leadership styles
- Technical skills
- Soft skills
- Software architecture and coding
- How to visualise software architecture
- 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
- C4 model - supplementary diagrams
- C4 and UML
- System Landscape diagrams
- Dynamic diagrams
- Deployment diagrams
- Documenting software architecture
- The importance of documentation
- Software architecture in the delivery process
- Quantifying and prioritising risk
- Identifying risk with risk-storming
- The conflict between architure and agile
- Approaching software architecture in a pragmatic, lightweight way
- How much up front design is enough?
About Simon Brown
Simon is an independent consultant specializing in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility).
He’s also the creator of the C4 software architecture model and the founder of Structurizr, which is a collection of open source and commercial tooling to help software teams visualise, document and explore their software architecture.