Thinking like an architect is all about seeing trade-offs in every solution,
technical or otherwise, and analyzing those trade-offs to determine what is
the best solution. To quote Mark (one of your authors):
• Architecture is the stuff you can’t Google.
• Everything in architecture is a trade-off, which is why the famous answer to
every architecture question in the universe is “it depends.”
• There are no right or wrong answers in architectureonly trade-offs.
• Programmers know the benefits of everything and the trade-offs of nothing.
Architects need to understand both.
• The point here is that everything in software architecture has a trade-off: an
advantage and disadvantage. Thinking like an architect is analysing these
trade-offs, then asking “which is more important: extensibility or security?”
• The decision between different solutions will always depend on the business
drivers, environment, and a host of other factors.