Product Crafter Emilio Carrión

Convierte tu software en una falla

Al estilo valenciano

Como cada marzo en Valencia, mi ciudad natal, celebramos una festividad denominada Las Fallas. No es misterio para los que nos conozca un poco que a los valencianos nos encanta la pirotecnia y hacer volar cosas por los aires, y las fallas son el mayor exponente de esta maravillosa fiesta de la que somos partícipes.

Su historia se origina en el gremio de carpinteros, que se juntaba cada 19 de marzo para celebrar a su patrón quemando todos los restos de madera que habían acumulado durante el año y dar la bienvenida a la primavera. Todos los desechos que les ocupaban sitio en los talleres y que no hacían más que estorbar, incinerados en una bonita pira de fuego. Esta tradición fue evolucionando poco a poco hasta convertirse en lo que es hoy y ser considerada patrimonio cultural inmaterial de la humanidad.

¿Y por qué os cuento todo esto? Pues porque esta manía que tenemos los valencianos de prender cosas en llamas nos puede ayudar en nuestro día a día en el desarrollo de software, quién se lo iba a imaginar.

El coste de acumular deshechos

Muchas veces en el desarrollo de software las cosas no van como esperábamos. Hay ocasiones donde funcionalidades que hemos desarrollado y llevado a nuestros usuarios no han acabado de convencerles y tomamos la decisión de echar marcha atrás.

El problema es que algunas de esas veces se nos complica un poco eso de deshacer los cambios. A veces dejamos partes de antiguas funcionalidades o partes de nuestro código que ha dejado de usarse a la deriva en nuestro proyecto. Código obsoleto que no hace nada y que está ahí y que ocupa espacio, tanto físico como mental.

Este código que parece inofensivo (total, no se usa) va creciendo poco a poco como el serrín que se acumula en las esquinas de una carpintería. El problema viene cuando ha llegado a tal punto que se vuelve en nuestra contra.

El código obsoleto puede sorprender en cualquier momento convirtiéndose en molesto de muchas formas. Puede causar confusiones ya que puedes no tener claro que parte de una funcionalidad se está usando o no. Puede dar problemas a la hora de determinar qué dependencias de todas las que tienes instaladas de verdad hacen falta y cuales puedes limpiar. Y si entra un compañero nuevo en el equipo tienes que darle mucho contexto sobre qué es lo que sirve y lo que no. En más de una ocasión me he encontrado diciéndole a una persona nueva: “pero esta parte no le hagas caso que ya no se usa” y eso causa confusión.

Como comenta Eduardo Ferro en alguno de sus artículos: el software tiene un coste basal. Un coste que crece con nuestro proyecto y que hemos de pagar por el mero hecho de existir. Y parte de ese coste es ese código obsoleto que no se usa y lo único que puede hacer es molestar.

Por lo tanto, me dispongo a daros una herramienta esencial que os ayudará a gestionar este código obsoleto y reducir los problemas que pueda causar. Aviso que es una herramienta muy avanzada y compleja de entender, pero que con estudio y práctica puede llegar a dominarse.

La solución

Prenderle fuego. Meterle llama a todo lo que no se use y que se convierta en una pila de ceniza como hacían los carpinteros con sus retales.

Sé que puede sonar muy sofisticado y que parece una medida que solo un valenciano nativo puede llevar a cabo, pero nada más lejos de la realidad, es algo que todos podemos hacer.

Las reglas son simples: cada vez que veas código que no se usa le prendes fuego. ¿Un método que no se invoca desde ningún sitio? Mechero. ¿Una dependencia que no se importa desde ningún lado? Yesca y pedernal. ¿Unas constantes que no recuerdas ni para que eran? Preparad embutido que nos hacemos una torrà para esmorzar.

Así de simple, elimina todo lo que encuentres que no se use. ¿Crees que puede que lo uses en el futuro? Le metes fuego igual. Si lo necesitas más adelante reviertes los cambios desde el control de versiones que para eso lo tienes.

Quitando todo lo que no se usa conseguiremos reducir la complejidad de nuestro software y la carga cognitiva a la que estamos sometidos.

Así que os invito a seguir esta práctica en vuestros desarrollos y a venir a ver cómo lo hacemos los valencianos en vivo y en directo cada 19 de marzo en Valencia.

TL;DR

Así como los valencianos se reúnen cada año para quemar los monumentos falleros, representando la purga de lo antiguo e innecesario, los desarrolladores de software también debemos adoptar una práctica similar.

A medida que nuestros proyectos crecen y evolucionan, el código obsoleto se acumula silenciosamente, convirtiéndose en una carga cognitiva y una fuente de complejidad innecesaria. Al igual que el serrín que se amontona en las esquinas de una carpintería, este código inútil puede terminar volviéndose en nuestra contra, causando confusiones, dificultando el mantenimiento y obstaculizando el progreso.

Así que, al igual que los valencianos celebran la llegada de la primavera con la quema de las Fallas, apliquemos esta práctica de “prender fuego” al código obsoleto en nuestros proyectos.