Comparing Software Architectures
Published by O'Reilly Media, Inc.
How to evaluate different architecture solutions
The ability to objectively compare architectures is a valuable skill for architects, yet learning how to compare them suffers from an obvious lack—how can someone find multiple solutions to the same architecture problem? Because of O’Reilly’s public Architectural Katas event in 2020, we now have that corpus of knowledge.
Learn how to make the right choices for your architecture problems by seeing 10 excellent—and different—solutions to the problem posed to teams taking part in the 2020 Architectural Katas. Join experts Neal Ford and Mark Richards for a comparison of various aspects of the same architectural solution, developed independently by isolated teams. Each team’s solution highlights the fact that there are no correct answers in architecture—only different sets of trade-offs.
What you’ll learn and how you can apply it
By the end of this live online course, you’ll understand:
- How to evaluate one architecture solution versus another
- How to identify trade-offs in software architecture
- How different teams solve and document the same problem
- Why some teams chose one architecture style over another: modular monoliths, serverless, microservices, and others
- How each team evaluated architecture characteristics
- Documentation and presentation techniques using architecture decision records (ADR) and a variety of diagramming techniques
And you’ll be able to:
- Build objective comparison criteria for different architecture solutions to the same problem
- “Borrow" many diagramming and presentation tips for architecture
This live event is for you because...
- You’re a developer or software architect and you want the opportunity to compare architectures and understand the differences between them.
- You’re interested in Architectural Katas and want to see the top solutions that teams came up with.
Prerequisites
- General knowledge of software architecture, architecture characteristics, and different architecture styles
- Basic knowledge of the trade-offs typically associated with architecture decisions
Recommended preparation:
- Watch Software Architecture Fundamentals, second edition (video)
- Take Software Architecture by Example (live online training course with Mark Richards and Neal Ford)
- Take Architecture: The Hard Parts (online training course with Mark Richards and Neal Ford)
Recommended follow-up:
- Read Fundamentals of Software Architecture (book)
- Attend Software Architecture Hour live events
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Architectural Katas and Farmacy Foods (20 minutes)
- Presentation: Introduction to the 2020 Architectural Katas; the challenges facing Farmacy Food, an organization that supplies high-quality foods to low-income neighborhoods and first responders
Architecture characteristics analysis (45 minutes)
- Presentation: Comparing and contrasting how each team analyzed and documented architecture characteristics and domain
- Break
Architecture styles (50 minutes)
- Presentation: Comparing and contrasting how each team chose architecture style and topography for their design, and analyzed trade-offs
- Break
Documentation (45 minutes)
- Presentation: Diagrams, presentations, and artifacts; diagramming techniques the teams teams used; how teams documented important decisions with ADRs
Wrap-up and Q&A (20 minutes)
- Presentation: Observations about solutions and the experiment
Your Instructor
Jacqui Read
Jacqui Read is an internationally-recognised solution and enterprise architect, and author of Communication Patterns: A Guide for Developers and Architects. She teaches public and private workshops and speaks at international conferences on topics such as architecture practices, technical communication, and systems design. Jacqui specializes in untangling and extracting value from data and knowledge, helping businesses to determine direction in complex environments. Her professional interests include collaborative modeling, knowledge management, Domain-Driven Design, sociotechnical architecture, and modernizing enterprise architecture practices. Outside of work she enjoys gardening and strumming her ukulele while singing at the same time. Her website is https://jacquiread.com/.