Back to glossary
GLOSSARY · Y

YAGNI (You Aren't Gonna Need It)

The engineering principle that says don't build for hypothetical future needs, the antidote to over-architected systems.

Definition

YAGNI (You Aren't Gonna Need It) is a principle from extreme programming that says don't add functionality, abstraction, or configuration for hypothetical future requirements. Build what's needed now; revisit when the actual need arrives. The principle pushes back on the engineer's instinct to over-generalize, the abstract base class no concrete class will ever inherit, the configurability for cases that never materialize, the database migration for a feature that never ships.

Why it matters

Over-architecture is the SRE-relevant cost of premature abstraction: complex systems are harder to operate, harder to debug under stress, and have more failure modes. YAGNI keeps systems closer to the minimum viable shape, which means fewer subsystems to keep healthy. Postmortems that name 'unnecessary complexity in subsystem X' as a contributing factor are essentially YAGNI-violation postmortems.

How Nova handles it

See the part of the platform that handles yagni (you aren't gonna need it) in production.

Nova engineering trends