Laws of Software Engineering · Principle
Principle
Bounded Rationality
People make decisions with incomplete information, limited time, and limited reasoning capacity. They satisfice rather than optimise.
How to use it. When reviewing past decisions in retrospectives or incident reviews, ask "what did they know, when, and under what time pressure?". The choice that looks wrong now often looked reasonable then. Designing for bounded rationality means making the right thing easier to do under real constraints.
How it gets misused. Treated as an excuse for sloppy thinking. Simon's insight describes how humans really work, and it tells you to design systems and processes that account for it. "Bounded" does not mean "weak".
Related
- Saying The New View (Dekker) Human error is not a cause of failure. It is a symptom of trouble deeper in the system.
-
Principle Blameless Retrospectives When something goes wrong, look at the system that allowed it, not the person who triggered it.