Table of contents : 1. Software Architecture Demystified: Let’s Get Started! Building your understanding of software architecture Building plans and software architecture The dimensions of software architecture Puzzling out the dimensions Everything is interconnected. The first dimension: Architectural characteristics The second dimension: Architectural decisions BE the architect The third dimension: Logical components The fourth dimension: Architectural styles No, architecture and design are different. A design perspective An architectural perspective The spectrum between architecture and design Where along the spectrum does your decision fall? Is it strategic or tactical? How much effort will it take to construct or change? Does it have significant trade-offs? Strategic versus tactical High versus low levels of effort Code Magnets Significant versus less significant trade-offs Putting it all together You made it! Software Architecture Crossword BE the architect solution Code Magnets Solution Software Architecture Crossword Solution 2. Everything’s a Trade-off: The Two Laws of Software Architecture It starts with a sneaker app What do we know so far? Having the trading service communicate with downstream services Analyzing trade-offs Trade-off analysis: Queue edition Trade-off analysis: Topic edition The first law of software architecture It always comes back to trade-offs Making an architectural decision What else makes a decision architectural? The second law of software architecture Architectural Decision Records (ADRs) Cubicle conversation Writing ADRs: Getting the title right Writing ADRs: What’s your status? Writing ADRs: What’s your status? (recap) Writing ADRs: Establishing the context Writing ADRs: Writing the decision Writing ADRs: Considering the consequences Writing ADRs: Ensuring governance Writing ADRs: Closing notes The benefits of ADRs Two Many Sneakers is a success The “two laws” crossword The “two laws” crossword solution About the Authors