Masterclasses
GOTO Aarhus 2022

Monday Jun 13
09:00 –
16:00
Tuesday Jun 14
09:00 –
16:00

SOLD OUT: SOLD OUT 2 Days: Visualising Software Architecture with the C4 Model

In this Masterclass Simon Brown (author of Software Architecture for Developers) will give you an introduction to a pragmatic and practical approach to software architecture; including technical leadership, communication and how to balance upfront design with agile approaches. Software Architecture for Developers is a practical and pragmatic guide to modern software architecture, specifically aimed at software developers.

This Masterclass will cover:

  • The essence of software architecture
  • Why the software architecture role should include coding, coaching and collaboration
  • The things that you really need to think about before coding
  • How to visualise your software architecture using the C4 model
  • A lightweight approach to documenting your software
  • Why there is no conflict between agile and architecture
  • What "just enough" up front design means
  • How to identify risks with risk-storming

AGENDA - DAY 1

Introductions

Architecture

  • What is software architecture?
  • Architecture vs design
  • The importance of software architecture

Architectural drivers

  • Requirements
  • Quality attributes
  • Constraints
  • Principles
  • Agility

Software design exercise

Lunch

Review and feedback

  • Does the solution satisfy the architectural drivers?

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

  • Do you understand the diagrams?

AGENDA - DAY 2

Visualising software architecture

  • Diagramming anti-patterns and typical problems
  • The "model-code gap"
  • 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

Lunch

Documenting software architecture

  • The importance of documentation
  • Writing lightweight supplementary documentation using a "software guidebook" or arc42

Managing technical risk

  • Quantifying and prioritising risk
  • Identifying risk with risk-storming

Software architecture in the delivery process

  • Waterfall, RUP, agile, etc
  • The conflict between architure and agile
  • Approaching software architecture in a pragmatic, lightweight way
  • How much up front design is enough?

Discussion, questions and wrap-up

Are there any prerequisites?
Some experience building software; no laptops needed

Powered by