Software Architecture
19 chaptersThis page contains all chapters in this theme. Open chapters in sequence or use this page as a section map.
What is software architecture and why is it in System Design?
Original ContenteasyIntroductory chapter: architecture, key decisions and why think about it when designing systems.
Open chapterArchitecture at Scale: How We Make Architectural Decisions
Original ContentmediumTalk by Alexander Polomodov (author of system-design.space) at ArchDays 2020: how to scale decision making through RFC/ADR, architectural boundaries and lightweight governance. This process has been rolled out and is used at T-Bank.
Open chapterEvolution of T-Bank architecture (2006 -2025)
Original Contenthard18 years of development: from a COTS startup to a tech company with 46M clients. Platform Engineering, import substitution and decentralized governance.
Open chapterFundamentals of Software Architecture (short summary)
Book SummarymediumArchitectural characteristics, styles (Layered, Microservices, Event-Driven) and soft skills of an architect from Mark Richards and Neal Ford.
Open chapterHead First Software Architecture (Head First. Software architecture)
Book SummaryeasyAn introduction to architectural thinking through the 4 dimensions: characteristics, solutions, logical components and architectural styles.
Open chapterSoftware Requirements (short summary)
Book SummaryhardClassics from Karl Wiegers: requirements levels, elicitation techniques, MoSCoW and Kano prioritization, change management.
Open chapterClean Architecture (short summary)
Book SummarymediumClassics from Uncle Bob: SOLID principles, component cohesion and coupling, Main Sequence and plugin architecture.
Open chapterSoftware Architecture: The Hard Parts (short summary)
Book SummaryhardMonolith decomposition, saga patterns, orchestration vs choreography and data management in distributed systems.
Open chapterBuilding Evolutionary Architectures (short summary)
Book SummaryhardFitness Functions for Architectural Verification, Connascence, Architectural Quantum and Database Evolution.
Open chapterEvolutionary architecture in practice
Original ContenthardAnalysis of Alexander Polomodov's talk: incremental changes, fitness functions, coupling and triggers of architectural evolution.
Open chapterContinuous Architecture in Practice (short summary)
Book Summaryhard6 principles of continuous architecture: from projects to products, quality attributes, delay decisions and architecture for DevOps.
Open chapterSoftware Architecture for Busy Developers (short summary)
Book SummarymediumATAM for analyzing architectural trade-offs, quality attributes, cloud native approaches and API-driven architecture.
Open chapterA Philosophy of Software Design (short summary)
Book SummaryhardThe philosophy of dealing with complexity from John Osterhout: deep modules, information hiding, strategic programming and red flags.
Open chapterTidy First? (short summary)
Book SummaryhardKent Beck's book on small structural changes: tidyings, separate tidying, and design economics through coupling, cohesion and optionality.
Open chapterEvolution of software architecture with Grady Booch
DocumentarymediumPodcast with UML co-author about the development of architecture, the role of the architect and modern challenges.
Open chapterUML: Diagrams as an Architectural Language
Original ContentmediumOriginal chapter on UML: Key Diagrams, Benefits and Practical Applications.
Open chapterC4 Model: context, containers, components, code
Original ContentmediumPractical guide to the C4 Model based on the official website: 4 levels of diagrams, notation and workflow modeling.
Open chapterBPMN: Business Process Modeling Language
Original ContentmediumPractical introduction to BPMN 2.0.2: elements of notation, gateways, swimlanes and workflow process modeling.
Open chapterArchiMate: a holistic model of enterprise architecture
Original ContenthardIntroduction to ArchiMate: layers, aspects, relationships and practical workflow from strategy to process flow.
Open chapter