Last Responsible Moment
Deferring a decision until the point beyond which delaying it would cost more than deciding now, in order to decide with the most information available.
Not "decide late" — decide at the moment when the cost of deferring exceeds the cost of committing. Deciding too early spends information you do not have; deciding too late means the decision has already been made by accident.
The judgement is about reversibility and lead time. A choice that is cheap to change later can be made quickly and revised. A choice with a long lead time — a vendor contract, a data model that will hold years of records, a regional topology — must be made before its lead time runs out, whatever information is available.
What makes deferral possible rather than merely hopeful: an abstraction boundary behind which the decision sits, so committing later is a contained change. Deferring without one is not deferral; it is the decision being made implicitly by whatever gets written first.
The complementary practice is to spend effort making decisions reversible rather than making them perfectly. Feature flags, adapters around external dependencies, and interfaces that admit a second implementation all convert an expensive decision into a cheap one — which is more valuable than being right, because it survives being wrong.