Preview the slides

What is the agenda?

Here's a breakdown of what we cover on the course, although the timings are indicative rather than set in stone.

Day 1

  • [09:00 - 09:30] Introductions and setting the scene
  • [09:30 - 10:30] What is software architecture?
    • What is architecture?
    • Types of architecture
    • Design versus architecture
    • Why do we need architecture?
  • [10:30 - 11:00] Break
  • [11:00 - 12:30] What is the role of a software architect?
    • How does a software architect fit in to a development team?
    • How are software architects and lead developers different?
    • What sort of skills does a software architect need?
    • What does the overall role look like?
  • [12:30 - 13:30] Lunch
  • [13:30 - 15:00] How do you define software architecture?
    • What drives software architecture?
    • How do functional requirements drive architecture?
    • How do non-functional requirements drive architecture?
    • How do you design for non-functional requirements?
    • How do constraints drive architecture?
    • How do principles drive architecture?
    • How do you design software given a blank sheet of paper?
  • [15:00 - 15:30] Break
  • [15:30 - 17:00] Case study (defining an architecture for a software system)

Day 2

  • [09:00 - 10:30] Case study (defining an architecture for a software system)
  • [10:30 - 11:00] Break
  • [11:00 - 12:30] Case study (review and wrap-up)
  • [12:30 - 13:30] Lunch
  • [13:30 - 15:00] How do you share software architecture?
    • Should software systems be documented?
    • Who needs to know about your architecture?
    • How do you write a software architecture document (SAD)?
    • What other methods are there for sharing architecture?
  • [15:00 - 15:30] Break
  • [15:30 - 16:30] How do you deliver software architecture?
    • When should a software architect be involved in a project?
    • How does software architecture fit into iterative development?
    • How does software architecture fit into agile development?
    • How much software architecture do you need to do?
    • How do you evaluate your architecture?
    • What is load testing and how do you do it?
  • [16:30 - 17:00] Discussion, questions and wrap-up