No vas a necesitarlo (YAGNI)
De Wikipedia, la enciclopedia libre
En ingeniería de software la filosofía de desarrollo de programas: No vas a necesitarlo o YAGNI (en inglés 'You Ain't Gonna Need It') consiste en que no se debe nunca agregar funcionalidad excepto que sea necesario. La tentación de escribir código que no es necesario, pero que puede serlo en un futuro tiene las siguientes desventajas:
- Cuando se desarrollan nuevas funcionalidades se suele sacrificar el tiempo que se destinaría para la funcionalidad básica.
- Las nuevas características deben ser depuradas, documentadas y soportadas.
- Una nueva funcionalidad impone límites a lo que puede ser hecho en el futuro y puede prevenir implementar una caracterísitica necesaria en el futuro.
- Hasta que no está definido para qué se puede necesitar es imposible decir qué debe hacer. Puede suceder que si son necesitadas no funcionen correctamente.
- Puede derivar en un código inflado: El programa se vuelve grande y complicado pero que tampoco provee mayor funcionalidad.
- Excepto que haya algún tipo de control de revisión, esta característica puede no ser conocida por los programadores que pueden utilizarla.
- Puede inducir a que se agreguen nuevas funcionalidades y como resultado puede llevar a un efecto 'bola de nieve' que puede consumir tiempo ilimitado y recursos, a cambio de ningún beneficio.