domingo, 26 de junio de 2011

Técnicas ágiles: Principio KISS

El principio KISS, es uno de esos acrónimos que quedan bien en cualquier presentación. Es una palabra conocida en inglés, y al mismo tiempo, es una frase simple y útil en el desarrollo de software.

"Keep It Simple, Stupid"

Supongo que alguien tuvo que añadir la palabrita final para conseguir doblar la S, y que así tengamos la palabra en inglés.

Básicamente, esta técnica general, se basa en que en cada una de las actividades del desarrollo software, debemos valorar si estamos realmente adoptando la solución más simple o no. Esta técnica ha sido abanderada por las metodologías ágiles, que rápidamente la han adoptado como suya.

Al mismo tiempo, es una afirmación correcta en cualquier desarrollo. No siempre se tiene la entereza de mantener la simplicidad. Más cuando uno es novato en alguna tecnología y quiere demostrar que tiene la suficiente destreza, o bien simplemente quiere utilizar el último patrón o framework de moda.

Hay un término de moda, y es la "deuda técnica". Este término está relacionado con el principio KISS. Si sabemos mantener la simplicidad en cada una de las facetas del desarrollo, estaremos disminuyendo la deuda técnica. Es curioso, pero en Wikipedia encontramos la definición siguiente de deuda técnica: "La deuda técnica es un eufemismo tecnológico que hace referencia a las consecuencias de un desarrollo apresurado de software o un despliegue descuidado de hardware." (http://es.wikipedia.org/wiki/Deuda_t%C3%A9cnica)

Si ahondamos en la definición, veremos que la deuda técnica no siempre estaría originada por un "desarrollo apresurado". Podemos hacer un exhaustivo análisis, diseño técnico, definición arquitectónica, etc. Y sin embargo, eso no asegura que no vaya a existir una deuda técnica en un futuro inmediato. Puede ser una arquitectura demasiado rimbombante, un complejo diseño técnico que no se vea actualizado...o una implementación desviada del diseño...o un uso indiscriminado de patrones ("patronitis", algún día os hablaré de ello).

Y para terminar, un ejemplo que me ha gustado y que he leído en más de un sitio (con ligeras variaciones). Éste en concreto, está extraído de un blog (http://www.gedpro.com/Comunidad/Blogs/tabid/69/EntryId/465/Principio-KISS-en-la-gestion-de-proyectos.aspx) en el que hablan del término KISS para temas de gestión de proyectos. Pero como el mismo autor reconoce, es un término válido para cualquier faceta del desarrollo:

Cuenta la leyenda que cuando la NASA inició el lanzamiento de astronautas, se dieron cuenta enseguida de que los bolígrafos no funcionarían con gravedad cero. Para resolver este problema, la NASA contrató a Accenture (la antigua Andersen Consulting). Una década y 12 millones de dólares después, la NASA disponía de un innovador bolígrafo que escribía con gravedad cero, hacia arriba y hacia abajo, bajo el agua, en prácticamente cualquier superficie, incluido el cristal y en un rango de temperatura desde -30ºC hasta más de 300ºC. Los Rusos utilizaron un Lápiz.

No hay comentarios:

Publicar un comentario