Find a Design That Satisfices
In a rational world, we’d fully define the problem before designing a perfect architecture to solve it. Too bad we don’t live in a perfect, rational world. In The Sciences of the Artificial [Sim96], Herbert Simon coined the term bounded rationality to describe the theoretical barrier created by limits in time, money, skills, and knowledge that make rational design challenging for complex problems such as software architecture.
Instead of rationally seeking an optimal design, our goal is to find an architecture that satisfices. A satisficing design is both satisfactory and sufficient—good enough—for our needs.
Instead of thinking of software architecture as a design optimization problem, we’ll look for a satisficing ...
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