Software Engineering ยท Design
A system can be adjusted to meet new or changed requirements without a large rewrite.
Example: Supporting a new currency with small tweaks instead of a rewrite.
In practice: Flexibility usually costs some upfront complexity โ extra configuration, abstraction layers โ so it's a real trade-off against simplicity (YAGNI), not a free win.