El acrónimo se suele citar como «YAGNI», que significa «You Ain’t Gonna Need It». Se trata de un principio de las metodologías de desarrollo, como la programación extrema y el desarrollo ágil, que establece que un desarrollador no debe añadir funcionalidad a un sistema hasta que sea realmente necesaria, y no sólo cuando se prevea que va a ser necesaria. Está relacionado con las ideas de «hacer lo más sencillo que pueda funcionar» y «producto mínimo viable».
Para obtener los mejores resultados, el uso de YAGNI debe combinarse con prácticas como la integración continua, las pruebas unitarias automatizadas y la refactorización continua; de lo contrario, puede dar lugar a un código desorganizado y a la necesidad de una reelaboración masiva en el futuro. Estas prácticas son fundamentales para XP y Agile también.
Centrarse sólo en la funcionalidad que realmente necesita ser añadido a un sistema, naturalmente, resulta en su decir «no es mi problema» a cualquier cosa fuera de ese ámbito que no es realmente necesario … o, para usar un viejo refrán polaco, «No es mi circo, no son mis monos.»
Hat tip: Aryeh Friedman para el A2A.