Fundamentals of Software Architecture

Format: Live Virtual Training
Duration: 1-Day Class
Instructor: Mark Richards

The job "Software Architect" was rated as the number one job by a recent CNN survey. Yet no clear path exists for moving from developer to architect. Why? Because software architecture is massive multidisciplinary subject with no clear definition or job description, making it difficult to chart a course for undertaking all of the learning required to become an effective software architect. 

This abbreviated 1-day version of the 3-day class is designed to provide you with the necessary skills to understand what software architecture is and how to create effective and appropriate architectures. Through interactive course materials and architecture exercises, this course will teach you how to determine architecture characteristics, define architecture components, select the right architecture, and make architecture decisions.  

Whether you are on the path of developer to architect or already an architect, this course will provide you with the necessary practical hands-on real-world technical and soft-skills knowledge to quickly become an effective software architect.

For more information about the pricing and availability of this course for private (corporate) training, please contact me at For public training offerings for this course, please see my public schedule at my upcoming events page.

Public Training Dates
There are no public dates scheduled for this training class.

Course Agenda

Unit 1: Introduction

  • Agenda and course logistics
  • What is software architecture?

Unit 2: Architecture Characteristics

  • Defining types of characteristics 
  • Translating business needs to architecture characteristics
  • Cart before the horse anti-pattern
  • Balancing requirements and characteristics 
  • Hands-on exercises: Identifying characteristics 

Unit 3: Component-Based Thinking

  • Identifying components and services
  • Component granularity
  • Component coupling
  • Component cohesion
  • Hands-on exercises: Identifying components

Unit 4: Architecture Styles

  • Architecture style taxonomy
  • Microservices architecture
  • Service-based architecture 
  • Event-driven architecture 
  • Microkernel architecture 
  • Space-based architecture 
  • Hands-on exercises: Identifying architecture style(s)

Unit 5: Making Architecture Decisions

  • Architecture decision anti-patterns
  • Architecture decision records
  • Example decision records

©2020 DeveloperToArchitect