Software Architecture: The Hard Parts (1 Day)

Format: Live Virtual Training
Duration: 1-Day Class
Instructors: Mark Richards and Neal Ford

Software architects have no clean, easy decisions: everything is a terrible tradeoff. Architecture has lots of difficult problems, which this platform-agnostic class highlights by investigating what makes architecture so hard. This hands-on, platform-agnostic architecture class goes beyond the fundamentals of software architecture and focuses on the really hard problems. This class focuses primarily on aspects of distributed architectures and on areas surrounding modularity versus granularity, the challenges of event-driven architectures (including difficult error handing issues), distributed architecture patterns and how to decouple services to achieve proper granularity. Architecture is full of hard parts; by attending this workshop you can gain the insights and techniques to make it just a little softer.

Like the 2-day class, this abbreviated 1-day class is divided into 2 main parts:

  • Part 1: Pulling Things Part (Modularity and Building Blocks)
  • Part 2: Putting Them Back Together (Patterns and Tradeoffs)

Pulling things apart (Part 1) focuses on how to break up systems and identify levels of modularity. However, once you’ve broken apart your systems, how do you tie them back together?  Putting them back together (Part 2) focuses on just this - the techniques of how to do orchestration, workflows, and transactions, while keeping parts decoupled from one another.

For more information about the pricing and availability of this course for private (corporate) training, please contact me at For public training offerings for this course, please see my public schedule at my upcoming events page. 

Course Agenda (1-Day Virtual Class)

Part 1: Pulling Things Apart

  • Architectural modularity
  • Components as building blocks
  • Granularity vs. modularity
  • Hands-on exercises
  • Domain vs. technical partitioning
  • Breaking apart transactional data
  • Hands-on exercises

Part 2: Putting Them Back Together 

  • Synchronous vs. async communication
  • Data access and sharing
  • Hands-on exercises
  • Contract management
  • Orchestration and workflow
  • Hands-on exercises

Class Summary

  • Final Words of Advice
©2020 DeveloperToArchitect