Architects often look harried and worried because they have no clean, easy decisions: everything is an awful tradeoff.
Architecture has lots of difficult problems, which this talk highlights by investigating what makes architecture so hard. At the core of many architectural problems: getting good granularity, which we illustrate via event-driven architectures, teams, components, architectural quantum, and a host of other examples.
We also illustrate reuse at the application, department, and enterprise level, and why reuse seems simple but isn’t. We also discuss difficult decisions, how to do tradeoff analysis, tools like MECE lists, and how to decouple services to achieve proper granularity.
Architecture is full of hard parts; by tracing the common reasons and applying lessons more universally, we can make it softer.