Architecture By Example
Published by O'Reilly Media, Inc.
Learn how to apply the fundamentals through real-world examples
Software architecture is a participation sport. While you can learn a great deal about practices, patterns, coupling, cohesion, and all the other facets of software architecture, you don’t really understand them until you put them in practice.
In this two-day intensive online course, Mark Richards and Neal Ford—software architects and the authors of numerous books and videos, including the popular video training course series Software Architecture Fundamentals—lead you on a guided, hands-on exploration of software architecture. You'll learn how to identify architectural requirements, analyze architecture trade-offs, work with key architectural components, select the right architecture patterns, and diagram and document the results, all within the context of real-world examples.
What you’ll learn and how you can apply it
By the end of this live, online course, you’ll understand:
- How to identify architecture characteristics (“-ilities”) within a given context
- The different ways of doing architecture trade-off analysis
- The overall steps and techniques for building an architecture
And you’ll be able to:
- Identify and design architectural components
- Analyze and select the right architecture patterns
- Diagram and document an architectural solution
- Immediately apply the techniques learned in this class to your own projects
- Better communicate architecture decisions to developers and stakeholders
This live event is for you because...
- You're a senior-level developer who wants to learn how to effectively create and communicate an architecture.
- You're a practicing software architect who wants to hone your skills and learn new software architecture techniques and practices.
- You're responsible for creating a software architecture for your company, and you want to make the right choices.
- You want a more complete picture of how to create software architectures.
Prerequisites
- No prior experience with software architecture is required.
Recommended Preparation:
Software Architecture Fundamentals, Second Edition (video)
Software Architecture Fundamentals Understanding the Basics (video)
Software Architecture Fundamentals (Learning Path)
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Day 1
Introduction(50 minutes)
- Lecture: Techniques for creating software architectures; real-world examples
Break(10 minutes)
Architecture characteristics (“-ilities”) (50 minutes)
- Lecture and hands-on exercises: Extracting and qualifying characteristics from problem context; primary versus secondary characteristics; architecture trade-off analysis
Break (10 minutes)
Architecture component design (60 minutes)
- Lecture and hands-on exercises: Component and service identification, granularity, coupling, and cohesion; component diagramming techniques
Day 2
Selecting architecture patterns (50 minutes)
- Lecture and hands-on exercises: Comparing architecture patterns; analyzing pattern characteristics; problem context to architecture pattern mapping; selecting the right architecture pattern; architecture pattern hybrids
Break (10 minutes)
Diagramming architectures (50 minutes)
- Lecture and hands-on exercises: General diagramming techniques; leveraging the C4 diagramming technique; diagramming through code
Break (10 minutes)
Documenting software architecture (60 minutes)
- Lecture and hands-on exercises: Identifying architecture decisions; justifying decisions; leveraging architecture decision records (ADRs); communicating software architectural decisions
Your Instructors
Mark Richards
Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures and other distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free website devoted to helping developers in the journey to becoming a software architect. In addition to hands-on consulting, Mark has authored numerous technical books and videos, including his two latest books Fundamentals of Software Architecture and Software Architecture: The Hard Parts that he co-authored with Neal Ford. Mark has spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.
Neal Ford
Neal Ford is an independent software consultant, best-selling author, speaker, and innovator in building concrete verification mechanisms for software architecture, for humans or agents. He’s an internationally recognized expert on software development and delivery, especially at the intersection of agile engineering techniques and software architecture. Neal has authored magazine articles, nine books (and counting), and dozens of video presentations, and has spoken at hundreds of developers’ conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting-edge software engineering, and improving technical presentations. Check out his web site at Nealford.com.