YAGNI (You Aren't Gonna Need It)
Un principio de Programación Extrema que establece que los programadores no deben añadir funcionalidad hasta que realmente se necesite, evitando características especulativas.
Definicion
YAGNI viene de Extreme Programming (XP) y combate la tendencia a construir para requisitos futuros imaginados. Añadir características no usadas aumenta la complejidad del código, la carga de mantenimiento e introduce bugs potenciales — todo para funcionalidad que puede nunca usarse. Estudios muestran que el 64% de las características de software raramente o nunca se usan.
Por que es importante
Las características especulativas desperdician tiempo de desarrollo y crean deuda técnica. El código que anticipa cada posible necesidad futura se vuelve inflado y difícil de mantener. YAGNI fomenta el enfoque en requisitos actuales validados.
Ejemplo
Violación de YAGNI: construir un sistema de plugins genérico "por si lo necesitamos después" cuando la app solo necesita un comportamiento fijo. Siguiendo YAGNI: implementar el comportamiento único ahora, añadir arquitectura de plugins solo cuando realmente se requiera un segundo plugin.