CodePark/ questions / DRY, KISS, YAGNI & coupling
START PRACTICINGPRACTICE
Backend question · Software design & patterns › DRY, KISS, YAGNI & coupling

The product only sends email notifications. A developer proposes a plugin system with a channel registry, dynamic loading and config for SMS, push and Slack, "because we'll need them eventually". Which principle argues against this?

YAGNI

YAGNI (You Aren't Gonna Need It) says: don't build features for needs you only guess will come. You pay to build and maintain the code now, and the guess is often wrong.

YAGNI does not forbid keeping code easy to change. A small
Notifier interface is cheap. A guessed-in-advance plugin framework is not.