Software Architecture Decision-Making cover
welcome to this free extract from
an online version of the Manning book.
to read more
or
welcome

welcome

 

Thank you for purchasing the MEAP for Software Architecture Decision-Making: Trade-offs, constraints, and judgment that survive reality. The book is still being developed, so the fact that you decided to read it makes me really glad.

I decided to write it because over time, I've noticed similar patterns across projects that suffered from the same obstacles over and over again. Those topics were rarely discussed in books, blogs or conference talks. Real decisions are almost never made in a vacuum or in an ideal world. They are often influenced by factors that are beyond an architect’s control:

  • Budget
  • Deadlines
  • Team skillset or attitude
  • Legacy systems
  • Requirement drift

And no matter whether they are noticed and acknowledged or ignored, the technically best solution is seldom the right fit for the organization’s needs.

I focus on the forces shaping architectural decisions, and how to make them visible for the trade-offs to be justified and relevant to given context and moment in time. As time passes, the reasons for earlier decisions blur or disappear. This is where feedback from the project becomes important and earlier decisions need to be reassessed. All the above is illustrated with practical examples from high-level considerations of security, costs, ownership, and operations; through lower-level technical choices like compute, messaging, networking; to organizational politics and team dynamics.