Comparing Software Architectures
How to evaluate different architecture solutions
185 spots availableSign up for a free trial!
or sign in.
Registration closes September 29, 2021 10:00 p.m. Coordinated Universal Time
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 the public Architecture 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 solutions to the same problem.
Join Neal Ford and Mark Richards, the founder and head judge respectively, for a comparison of various aspects of the same architectural solution, developed independently by isolated teams. Each solution aimed to supply an architecture for Farmacy Foods, an organization that supplies high-quality food to low income neighborhoods and first responders, but each solution highlights the fact that there are no correct answers in architecture–only different sets of tradeoffs. In this course, we compare the top ten solutions, highlighting the tradeoff choices made for different aspects of architecture.
What you’ll learn and how you can apply it
By the end of this live, hands-on, online course, you’ll understand:
- Why some teams chose one architecture style versus another: modular monoliths, serverless, microservices, and others
- How each team evaluated architecture characteristics
- Documentation and presentation techniques, using Architecture Decision Records and a variety of diagramming techniques
- How to evaluate one architecture solution versus another
- How to identify tradeoffs in software architecture
- How different teams solve and document the same problem
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…
- The opportunity to compare architectures is extremely rare, and having experienced guides helps attendees understand the differences
- Looking at differing solutions allows attendees to see the core problems more clearly
- General knowledge of software architecture, architecture characteristics, different architecture styles
- Understanding some (not all) of the tradeoffs typically associated with architecture decisions
- Watch Software Architecture Fundamentals, Second Edition (video)
- Take Software architecture by example (live online training course)
- Take Architecture: The Hard Parts (live online training course)
The timeframes are only estimates and may vary according to how the class is progressing.
- Introduction: Architecture Katas and Pharmacy Foods (20 mins)
- Architecture characteristics analysis (40 mins)
- Based on Part 1 of Fundamentals of Software Architecture, compare and contrast how each team analyzed and documented architecture characteristics and domain.
- Break (10 mins)
- Architecture styles (50 mins)
- Based on Part 2 of Fundamentals of Software Architecture, compare and contrast how each team chose what architecture style and topology for their design, along with the tradeoff analysis.
- Break (10 mins)
- Documentation: diagrams, presentations, and artifacts (40 mins)
- Based on Part 3 of Fundamentals of Software Architecture, highlight the different diagramming techniques teams used, along with how they documented their important decisions via ADRs.
- Observations about solutions and the experiment, Q&A (10 mins)
Neal Ford is a director, software architect, and meme wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals who think disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He’s an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal has authored seven books (and counting), a number of magazine articles, and dozens of video presentations and spoken at hundreds of developer conferences worldwide. His topics of interest include software architecture, continuous delivery, functional programming, and cutting-edge software innovations. Check out his website, Nealford.com.
Mark Richards is an experienced hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems. He's been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. He's the author of numerous O’Reilly technical books and videos, including several books on microservices, the Software Architecture Fundamentals video series, the Enterprise Messaging video series, and Java Message Service, second edition, and was a contributing author to 97 Things Every Software Architect Should Know. A speaker and trainer, he’s given talks on a variety of enterprise-related technical topics at hundreds of conferences and user groups around the world.