Books & Videos

Table of Contents

  1. Chapter 1 Don't Put Your Resume Ahead of the Requirements

  2. Chapter 2 Simplify Essential Complexity; Diminish Accidental Complexity

  3. Chapter 3 Chances Are, Your Biggest Problem Isn't Technical

  4. Chapter 4 Communication Is King; Clarity and Leadership, Its Humble Servants

  5. Chapter 5 Application Architecture Determines Application Performance

  6. Chapter 6 Seek the Value in Requested Capabilities

  7. Chapter 7 Stand Up!

  8. Chapter 8 Everything Will Ultimately Fail

  9. Chapter 9 You're Negotiating More Often Than You Think

  10. Chapter 10 Quantify

  11. Chapter 11 One Line of Working Code Is Worth 500 of Specification

  12. Chapter 12 There Is No One-Size-Fits-All Solution

  13. Chapter 13 It's Never Too Early to Think About Performance

  14. Chapter 14 Architecting Is About Balancing

  15. Chapter 15 Commit-and-Run Is a Crime

  16. Chapter 16 There Can Be More Than One

  17. Chapter 17 Business Drives

  18. Chapter 18 Simplicity Before Generality, Use Before Reuse

  19. Chapter 19 Architects Must Be Hands On

  20. Chapter 20 Continuously Integrate

  21. Chapter 21 Avoid Scheduling Failures

  22. Chapter 22 Architectural Tradeoffs

  23. Chapter 23 Database As a Fortress

  24. Chapter 24 Use Uncertainty As a Driver

  25. Chapter 25 Warning: Problems in Mirror May Be Larger Than They Appear

  26. Chapter 26 Reuse Is About People and Education, Not Just Architecture

  27. Chapter 27 There Is No 'I' in Architecture

  28. Chapter 28 Get the 1,000-Foot View

  29. Chapter 29 Try Before Choosing

  30. Chapter 30 Understand the Business Domain

  31. Chapter 31 Programming Is an Act of Design

  32. Chapter 32 Give Developers Autonomy

  33. Chapter 33 Time Changes Everything

  34. Chapter 34 "Software Architect" Has Only Lowercase a's; Deal with It

  35. Chapter 35 Scope Is the Enemy of Success

  36. Chapter 36 Value Stewardship Over Showmanship

  37. Chapter 37 Software Architecture Has Ethical Consequences

  38. Chapter 38 Skyscrapers Aren't Scalable

  39. Chapter 39 Heterogeneity Wins

  40. Chapter 40 It's All About Performance

  41. Chapter 41 Engineer in the White Spaces

  42. Chapter 42 Talk the Talk

  43. Chapter 43 Context Is King

  44. Chapter 44 Dwarves, Elves, Wizards, and Kings

  45. Chapter 45 Learn from Architects of Buildings

  46. Chapter 46 Fight Repetition

  47. Chapter 47 Welcome to the Real World

  48. Chapter 48 Don't Control, but Observe

  49. Chapter 49 Janus the Architect

  50. Chapter 50 Architects' Focus Is on the Boundaries and Interfaces

  51. Chapter 51 Empower Developers

  52. Chapter 52 Record Your Rationale

  53. Chapter 53 Challenge Assumptions—Especially Your Own

  54. Chapter 54 Share Your Knowledge and Experiences

  55. Chapter 55 Pattern Pathology

  56. Chapter 56 Don't Stretch the Architecture Metaphors

  57. Chapter 57 Focus on Application Support and Maintenance

  58. Chapter 58 Prepare to Pick Two

  59. Chapter 59 Prefer Principles, Axioms, and Analogies to Opinion and Taste

  60. Chapter 60 Start with a Walking Skeleton

  61. Chapter 61 It Is All About The Data

  62. Chapter 62 Make Sure the Simple Stuff Is Simple

  63. Chapter 63 Before Anything, an Architect Is a Developer

  64. Chapter 64 The ROI Variable

  65. Chapter 65 Your System Is Legacy; Design for It

  66. Chapter 66 If There Is Only One Solution, Get a Second Opinion

  67. Chapter 67 Understand the Impact of Change

  68. Chapter 68 You Have to Understand Hardware, Too

  69. Chapter 69 Shortcuts Now Are Paid Back with Interest Later

  70. Chapter 70 "Perfect" Is the Enemy of "Good Enough"

  71. Chapter 71 Avoid "Good Ideas"

  72. Chapter 72 Great Content Creates Great Systems

  73. Chapter 73 The Business Versus the Angry Architect

  74. Chapter 74 Stretch Key Dimensions to See What Breaks

  75. Chapter 75 If You Design It, You Should Be Able to Code It

  76. Chapter 76 A Rose by Any Other Name Will End Up As a Cabbage

  77. Chapter 77 Stable Problems Get High-Quality Solutions

  78. Chapter 78 It Takes Diligence

  79. Chapter 79 Take Responsibility for Your Decisions

  80. Chapter 80 Don't Be Clever

  81. Chapter 81 Choose Your Weapons Carefully, Relinquish Them Reluctantly

  82. Chapter 82 Your Customer Is Not Your Customer

  83. Chapter 83 It Will Never Look Like That

  84. Chapter 84 Choose Frameworks That Play Well with Others

  85. Chapter 85 Make a Strong Business Case

  86. Chapter 86 Control the Data, Not Just the Code

  87. Chapter 87 Pay Down Your Technical Debt

  88. Chapter 88 Don't Be a Problem Solver

  89. Chapter 89 Build Systems to Be Zuhanden

  90. Chapter 90 Find and Retain Passionate Problem Solvers

  91. Chapter 91 Software Doesn't Really Exist

  92. Chapter 92 Learn a New Language

  93. Chapter 93 You Can't Future-Proof Solutions

  94. Chapter 94 The User Acceptance Problem

  95. Chapter 95 The Importance of Consommé

  96. Chapter 96 For the End User, the Interface Is the System

  97. Chapter 97 Great Software Is Not Built, It Is Grown

  1. Colophon