Software Architecture for Developers (Nov 20-21)
GOTO Amsterdam 2025

Software Architecture for Developers (Nov 20-21)

Wednesday Nov 20
09:00 –
Thursday Nov 21
17:00
Trifork Office; Vlaardingenlaan 15, 1066 HM Amsterdam
1,499.00 EUR

Register for this masterclass


Outcome

In this masterclass Simon Brown will provide you with a practical approach to software architecture; including technical leadership, communication and how to balance upfront design with agile approaches.


Why Attend?

The 2 Day Software Architecture for Developers masterclass led by Simon Brown, will provide you with a practical and pragmatic guide to modern software architecture. It will teach you the essence of software architecture and will help you understand the following:

  • Why the software architecture role should include coding, coaching and collaboration
  • The things that you really need to think about before coding
  • How to visualize 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

Course Overview

Day 1: Architectural drivers, Software design exercise & Visualising software architecture

Architecture

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

Architectural drivers

  • Requirements
  • Quality attributes
  • Constraints
  • Principles
  • Agility
  • Software design exercise

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?

Day 2: Visualising software architecture, Documenting software architecture, Quantifying technical risk & Software architecture in the delivery process

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

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