Designing Software Architectures: A Practical Approach, 2nd Edition
by Humberto Cervantes, Rick Kazman
3
Making Design Decisions
Design is the process of making decisions. Which decisions? Ideally, the ones that will lead to project success! But decision-making is hard. It is fraught with uncertainty. We are often uncertain about our project requirements and project resources. We are uncertain about the evolutionary trajectories of the technologies we build upon. We are uncertain about our planning horizon. We may be uncertain about the costs of the choices we are making. We may even be uncertain about our own knowledge (although architects and others often fail in the other direction, being overconfident rather than underconfident—this is known as overconfidence bias).
As architects we are responsible for the decisions that we make. This is ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access