2 Days: Software architecture for developers
GOTO Copenhagen 2026Monday Sep 28
09:00 –
17:00
Tuesday Sep 29
09:00 –
17:00
11,000.00 DKK
This 2-day workshop will give you an introduction to a pragmatic and practical approach to software architecture; including technical leadership, communication and how to balance up front design with agile approaches.
Day 1
Introduction
Architecture
- What is software architecture?
- Architecture vs design
- The importance of software architecture
Architectural drivers
- Requirements
- Quality attributes
- Constraints
- Principles
- Agility
Software design exercise
- Software design exercise
- Design exercise review #1
Architects
- A definition of the software architecture role
- Technical leadership and the different leadership styles
- Technical skills
- Soft skills
- Software architecture and coding
Visualising software architecture
- Design exercise review #2
- Diagramming anti-patterns and typical problems
- The "model-code gap"
Discussion, questions and wrap-up
Day 2
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 design exercise
- Software design exercise
- Design exercise review #3
C4 model - supplementary diagrams
- C4 and UML
- System Landscape diagrams
- Dynamic diagrams
- Deployment diagrams
- Frequently asked questions
Documenting software architecture
- The importance of documentation
- Writing lightweight supplementary documentation using a "software guidebook" or arc42
- Architecture decision records
Tooling
- Diagrams vs models
- Extracting software architecture information from code and "architecturally-evident coding styles"
Software architecture in the delivery process
- Quantifying and prioritising risk
- Identifying risk with risk-storming
- Design exercise review #4
- Waterfall, RUP, agile, etc
- The conflict between architecture and agile
- Approaching software architecture in a pragmatic, lightweight way
- How much up front design is enough?