Software Architecture for Developers
On-site Masterclass

Join one of our GOTO experts for a paid one-, two- or three-day on-site masterclass that will give you a deep dive into a specific area of tech. Expect to get up close and personal with a seasoned software expert over the course of this paid training session.

Thursday Apr 15
09:00 –
Friday Apr 16
17:00
CET
GOTO Academy Amsterdam

Software Architecture for Developers

Why should you attend?

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

Would you like to join as a group? - Contact us here

Powered by