Definition
Orthogonality, borrowed from geometry, describes a system whose parts are independent: changing one has no effect on the others. In software, two components are orthogonal when a modification to one cannot break, surprise, or require a change in the other.
The opposite is an interconnected system where touching any piece risks consequences elsewhere. Such systems are fragile and hard to reason about, because no change is ever local.
Why it matters
How it works
You build orthogonality by drawing clear boundaries. Group related functionality into modules with narrow, well-defined interfaces, and resist the temptation to share global state or let one module rely on another's internal details. Layered architectures and dependency injection are common tools for keeping concerns separate.
A useful test: ask how many other components must change if a given requirement changes. If the answer is many, the design is not orthogonal. The goal is not zero coupling, which is impossible, but coupling that is intentional, visible, and minimal.