Skip to main content

Learning path

Fundamentals of Software Architecture learning path: everything to study, topic by topic

Master the core principles, patterns, and decision-making frameworks for designing scalable, maintainable software systems. Based on Ford & Richards' foundational work, covering architecture styles, characteristics, deployment, and evolution.

Short answer

To learn Fundamentals of Software Architecture, work through 6 modules and 26 topics in the order they build on each other. It starts with Architecture Foundations, then moves on to Architecture Characteristics and Architecture Patterns & Styles. Use the map as a checklist, or measure your level and study only what is missing.

6
modules
26
topics
60
min to assess

What you will study

Topics are grouped by module. Open one to see its objectives and key concepts.

1 · Architecture Foundations4 topics
  • The Architect's Role & Responsibilities

    Understanding the role of a software architect: responsibilities, expectations, and soft skills.

    Objectives

    • Define the role of a software architect
    • Understand core responsibilities beyond coding
    • Develop soft skills for architecture leadership

    Key concepts

    • architect definition
    • responsibilities
    • soft skills
    • collaboration
  • What is Software Architecture?

    Defining software architecture: structure, components, relationships, and guiding principles.

    Objectives

    • Define software architecture and its scope
    • Understand architectural components and relationships
    • Recognize the difference between architecture and design

    Key concepts

    • architecture definition
    • structure
    • components
    • relationships
    • principles
  • Thinking Like an Architect

    Core thinking patterns: systems thinking, holistic analysis, and architectural mindset.

    Objectives

    • Apply systems thinking to architectural problems
    • Think holistically about system design
    • Consider constraints and context in architecture

    Key concepts

    • systems thinking
    • holistic view
    • context
    • constraints
    • trade-offs
  • Expectations of Architects in Organizations

    What organizations expect from architects: impact, communication, technical depth, and business alignment.

    Objectives

    • Understand organizational expectations from architects
    • Balance technical and business concerns
    • Communicate architecture to diverse stakeholders

    Key concepts

    • business alignment
    • technical depth
    • communication
    • impact
    • cross-functional
2 · Architecture Characteristics4 topics
  • Architecture Characteristics (Ilities)

    Defining non-functional characteristics: scalability, availability, reliability, maintainability, etc.

    Objectives

    • Define key architecture characteristics
    • Distinguish between functional and non-functional requirements
    • Identify critical ilities for a system

    Key concepts

    • ilities
    • non-functional
    • scalability
    • availability
    • reliability
    • maintainability
  • Measuring Architecture Characteristics

    Quantifying ilities: metrics, thresholds, SLOs, and observable characteristics.

    Objectives

    • Define measurable criteria for architecture characteristics
    • Establish SLOs and performance thresholds
    • Design metrics to track architectural health

    Key concepts

    • metrics
    • SLO
    • measurement
    • thresholds
    • observability
  • Architecture Ilities & Trade-offs

    Managing trade-offs between competing ilities: cost vs. reliability, simplicity vs. feature richness.

    Objectives

    • Identify conflicting architecture characteristics
    • Analyze trade-offs between competing ilities
    • Make informed decisions on architectural priorities

    Key concepts

    • trade-offs
    • competing concerns
    • cost-benefit
    • prioritization
  • How Architecture Decisions Impact Ilities

    Understanding how architectural choices affect non-functional characteristics.

    Objectives

    • Predict impact of architectural decisions on ilities
    • Understand cascading effects of architectural choices
    • Evaluate decisions through the lens of characteristics

    Key concepts

    • decision impact
    • cascading effects
    • architectural choices
3 · Architecture Patterns & Styles7 topics
  • Layered Architecture Pattern

    The most common pattern: horizontal layers, coupling, testability, and deployment considerations.

    Objectives

    • Understand the layered architecture pattern
    • Recognize strengths and weaknesses of layered architecture
    • Apply layered patterns to monolithic systems

    Key concepts

    • layers
    • horizontal organization
    • coupling
    • testability
    • CRUD operations
  • Pipeline Architecture Pattern

    Processing pipelines and filters: ETL, data transformation, and functional composition.

    Objectives

    • Design pipeline and filter architectures
    • Understand when pipelines are appropriate
    • Manage data flow and transformations

    Key concepts

    • pipeline
    • filters
    • composition
    • data transformation
    • ETL
  • Microkernel (Plug-in) Architecture

    Core kernel with plug-in modules: feature isolation, extensibility, and scalability.

    Objectives

    • Design microkernel architectures
    • Implement plug-in discovery and loading
    • Scale and deploy plug-in systems

    Key concepts

    • microkernel
    • plug-ins
    • extensibility
    • feature isolation
    • registry
  • Modular Monolith Architecture

    Monolithic with strict module boundaries: independently deployable modules, domain-driven design.

    Objectives

    • Design modular monolithic systems
    • Enforce module boundaries and dependencies
    • Prepare monoliths for future microservices migration

    Key concepts

    • modularity
    • bounded contexts
    • module boundaries
    • independence
    • deployment
  • Microservices Architecture Style

    Distributed services: autonomy, coupling, communication patterns, and operational complexity.

    Objectives

    • Understand microservices architecture principles
    • Design service boundaries and contracts
    • Manage distributed system challenges

    Key concepts

    • microservices
    • service autonomy
    • distributed systems
    • communication
    • resilience
  • Event-Driven Architecture

    Asynchronous communication: mediator, broker topologies, event sourcing, and CQRS.

    Objectives

    • Design event-driven systems
    • Choose between mediator and broker topologies
    • Implement event sourcing and CQRS patterns

    Key concepts

    • event-driven
    • asynchronous
    • mediator
    • broker
    • event sourcing
    • CQRS
  • Space-Based Architecture

    Tuple spaces and in-memory caching: scalability for variable loads, elasticity.

    Objectives

    • Design space-based systems for high elasticity
    • Manage in-memory data consistency
    • Scale space-based architectures horizontally

    Key concepts

    • space-based
    • tuple space
    • in-memory
    • scalability
    • elasticity
    • replication
4 · Architecture Decisions & Documentation4 topics
  • Architecture Decision Records (ADRs)

    Documenting decisions: context, alternatives, rationale, and consequences.

    Objectives

    • Write effective Architecture Decision Records
    • Capture context and alternatives for decisions
    • Document rationale and long-term consequences

    Key concepts

    • ADR
    • decision context
    • alternatives
    • rationale
    • consequences
  • Documenting Software Architecture

    Architecture diagrams, views, perspectives, and documentation standards (C4, UML).

    Objectives

    • Create clear architecture diagrams and views
    • Apply C4 model for scalable documentation
    • Choose appropriate visualization techniques

    Key concepts

    • diagrams
    • C4 model
    • views
    • perspectives
    • documentation standards
  • Risk Analysis & Management in Architecture

    Identifying, evaluating, and mitigating architectural risks.

    Objectives

    • Identify architectural risks systematically
    • Assess risk probability and impact
    • Develop mitigation and contingency strategies

    Key concepts

    • risk identification
    • risk assessment
    • mitigation
    • contingency planning
  • Architectural Decision-Making Frameworks

    Structured approaches: evaluation matrices, cost-benefit analysis, scenario planning.

    Objectives

    • Apply structured decision-making frameworks
    • Evaluate alternatives systematically
    • Make defensible architectural decisions

    Key concepts

    • decision frameworks
    • evaluation criteria
    • cost-benefit
    • scenario planning
5 · Deployment & DevOps4 topics
  • Deployment Topologies

    Physical and logical deployment: on-premises, cloud, hybrid, and container orchestration.

    Objectives

    • Design appropriate deployment topologies
    • Compare on-premises vs. cloud vs. hybrid approaches
    • Plan for scalability and high availability

    Key concepts

    • deployment topology
    • on-premises
    • cloud
    • hybrid
    • orchestration
  • Cloud Architecture Considerations

    Cloud-native principles: elasticity, resilience, multi-tenancy, cost optimization.

    Objectives

    • Apply cloud-native architectural principles
    • Design for elasticity and resilience
    • Optimize cloud costs and resource usage

    Key concepts

    • cloud-native
    • elasticity
    • resilience
    • multi-tenancy
    • cost optimization
  • Containers & Container Orchestration

    Containerization: Docker, Kubernetes, service meshes, and operational concerns.

    Objectives

    • Design container-based deployments
    • Understand Kubernetes orchestration patterns
    • Manage container networking and service discovery

    Key concepts

    • containers
    • Docker
    • Kubernetes
    • orchestration
    • service mesh
  • Scalability Patterns & Strategies

    Horizontal and vertical scaling: load balancing, caching, database sharding, and async processing.

    Objectives

    • Apply horizontal and vertical scaling strategies
    • Design caching and data replication patterns
    • Implement asynchronous processing for scalability

    Key concepts

    • scalability
    • horizontal scaling
    • caching
    • sharding
    • async processing
6 · Evolution & Governance3 topics
  • Evolutionary Architecture

    Designing for change: modular boundaries, contract testing, continuous deployment.

    Objectives

    • Design architectures that evolve gracefully
    • Apply incremental architectural refactoring
    • Implement contract-based testing for system evolution

    Key concepts

    • evolutionary design
    • modularity
    • contract testing
    • incremental change
  • Fitness Functions & Governance

    Defining architectural health: automated fitness functions, governance rules, and continuous validation.

    Objectives

    • Define fitness functions for architecture
    • Implement automated architectural governance
    • Validate architecture continuously

    Key concepts

    • fitness functions
    • governance
    • metrics
    • automated validation
    • health
  • Organizational Alignment & Conway's Law

    Architecture and organization structure: Conway's Law, team topology, and organizational design.

    Objectives

    • Apply Conway's Law to organizational design
    • Align architecture with organizational structure
    • Design team topologies for architectural goals

    Key concepts

    • Conway's Law
    • team topology
    • organizational structure
    • alignment
    • communication paths

Levels: Junior, Mid, Senior, and Expert

Explain it in your own words

Graded by AI · no account · 1 question

No options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.

0 / 600

Already studying Fundamentals of Software Architecture?

The assessment measures topic by topic, and your plan skips what you already know.

Open to read. An account is only needed to be measured.

Frequently asked questions

Where should I start studying Fundamentals of Software Architecture?

Start with Architecture Foundations: The Architect's Role & Responsibilities, What is Software Architecture?, and Thinking Like an Architect. The map orders topics by what they depend on, so each one prepares the next.

How long does a full Fundamentals of Software Architecture assessment take?

A full assessment of this path takes about 60 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.

Do I need an account to use this page?

No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.