Simon Brown: Software Architecture for Developers

This 2-day Masterclass 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.


Simon Brown @ GOTO Academy (December 2018)

 

 

 

 

 

 

 

 

 

 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

 

 Would you like to join as a group?                                                                                                      Please email us at training@gotoacademy.nl or call us on +31 639558344. 

Upcoming training dates