SOLID & Design Patterns Interview Question #131

What is the YAGNI principle?

Anti-Patterns, Refactoring, DI Lifetimes & Senior Design Scenarios Senior Advanced

Quick Interview Answer

YAGNI means You Aren't Gonna Need It. It advises against implementing speculative features or extensibility before there is a real requirement.

Detailed Explanation

YAGNI means You Aren't Gonna Need It. It advises against implementing speculative features or extensibility before there is a real requirement.

YAGNI does not mean ignoring foreseeable architectural constraints. It means distinguishing necessary design work from speculative functionality that adds maintenance cost without current value.

Code Example

// Requirement today:
Generate PDF invoice.

// Do not automatically build:
// PDF + DOCX + XML + CSV + plugin system
// unless those variations are required.