Simon Brown: Software Architecture for Developers – GOTO Academy NL

Simon Brown: 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



      Upcoming training dates