When looking to design a system architecture, one will inevitably be faced with some problem that needs to be solved. This principle highlights the need to not stop at attempting to solve the symptom of the problem, but to also go “upstream” up the causal chain and discover the root cause of the problem within the system.