La mierda feliz

4

Llega un día en el que hay que mover una estantería, porque quieres pasar un cable por detrás. Cuando la mueves descubres que detrás hay un montón de mierda de proporciones épicas. Te sorprendes y llamas a tu pareja para que lo vea: “¡mira lo que había ahí detrás!”. Pero si te lo paras a pensar, era de esperar. Esa estantería lleva 7 años sin moverse. Sabías que detrás había un ecosistema en formación. Así que, ¿de qué te sorprendes? Si lo piensas fríamente no tendrías que sorprenderte. Pero aún así flipas de la cantidad de mierda que había detrás de la estantería. El motivo es simple, habías elegido ignorarlo. El motivo de que lo quisieses ignorar: porque era mierda feliz. Feliz, como los Susuwatari:

La mierda feliz es aquella mierda que no hace daño a nadie. Está allí, es mierda, pero si no la tocas, no la miras y la ignoras, no hace nada malo. Si piensas en ella, te obsesionarás y querrás limpiarla. Si piensas en esa cajonera que nunca has movido, sabrás al momento que está llena de mierda por detrás. Si piensas en esa nevera empotrada, sabrás que detrás hay mierda para aburrir. Detrás de radiadores, en el espacio entre el zócalo y las patas de los muebles de la cocina, en los desagües, detrás de los cuadros, todo está lleno de mierda feliz. La base es que la mierda feliz, es feliz mientras la ignores, y no molesta. Hay un contrato entre nosotros y la mierda feliz, en el que si no pensamos el uno en el otro, ambos seremos felices y no nos molestaremos.

En TI, tenemos mierda feliz. Tenemos funciones en el código que nadie llama. Páginas en nuestro Back Office que nadie usa. Tablas en la base de datos que hace años que nadie lee ni actualiza. Logs que nadie sabe que existen. Es mierda, pero es feliz. El contrato es simple, si la ignoras realmente no molesta. Pero como te fijes en ella, la querrás limpiar. Querrás dejar de comprar ese dominio al que nadie llama nunca. Querrás ponerte a hacer una refactorización para quitar esas funciones y librerías que han quedado obsoletas. Igual que cuando mueves el mueble, te falta tiempo para coger la aspiradora para limpiarlo, a la que descubres esa mierda, quieres limpiarla. Estás rompiendo el contrato, y tanto la mierda como tú, dejaréis de ser felices.

El contrato con la mierda feliz es claro, si la ignoras, ella te ignorará a ti. En una base de datos de decenas de GB, ¿Qué daño hace una tabla que nadie usa con un centenar de registros? Realmente nada. Seamos sinceros, no pasa nada. No consume prácticamente recursos. Y una tabla más o menos en el enjambre de 2000 tablas que hay en la base de datos, no marca la diferencia. Seamos prácticos y no perdamos el tiempo en la mierda feliz.

Por supuesto que hay mierda que molesta. Eso no es mierda feliz. Tener un log que nadie usa, ocupando Gigas en disco, no es mierda feliz, es mierda y punto. Pero tener un log que escribe un par de líneas al día y nadie usa, no hace nada malo. Al cabo del año, como mucho, el fichero tendrá unos KB. No confundamos la mierda de verdad con la mierda feliz. La mierda feliz, no es bonita. Si la vemos querremos limpiarla. Pero si la ignoramos no tiene realmente un efecto negativo. Ella es feliz y nosotros también somos felices ignorándola. Cada uno a lo suyo. Vive y deja vivir.

Mi consejo con la mierda feliz es actuar igual que actuarías con la mierda feliz de tu casa. Si mueves un mueble y te encuentras con la mierda cara a cara, la limpias, porque no te cuesta esfuerzo. Pero no te pongas a moverlo todo para limpiarlo, porque te costará un montón de esfuerzo, y un beneficio prácticamente nulo. Mi consejo es que la ignores. Así, si te toca arreglar una incidencia y ves que una función está programada con el culo (un órgano excelente para generar mierda), pues arréglala, ya que te saldrá prácticamente gratis. Pero no te embarques en una caza de brujas a refactorizar lo que está funcionando y no necesita que le hagas un mantenimiento. Una aplicación que está escalando y ya necesita 20 servidores, requiere que revises su performance. Una aplicación que se está rascando la tripa todo el día y apenas consume una CPU, no merece que revises si su programación es eficiente o no. Puede que sea una mierda de aplicación, y que con una décima parte de los recursos ya funcione igual, pero, ¿para qué molestarse? Esa aplicación es mierda feliz.

No busques dejar todo el código como una patena, por el mero hecho de que este bonito. Hazlo si está representando un problema que esté hecho una mierda. No busques tablas no usadas, que no estén representando un problema de espacio. La mierda feliz, es mejor ignorarla, e invertir tu tiempo en eliminar la mierda de verdad.

Sobre el autor

Jose M. Huerta

Jose es Gestor de Proyectos y Gestor de Servicios en Mallorca. Es Ingeniero de Telecomunicaciones y obtuvo el Master of Advanced Studies durante su etapa como investigador. Pero no tardó en abandonar ese mundo y meterse de cabeza en el mundo de las Tecnologías de la Información. Está certificado como ITIL Expert. Tiene amplia experiencia en gestión de servicios, clásica e integrada con desarrollo, gestión de proyectos, usando metodologías clásicas y ágiles, gestión de programas y portfolios, gestión de grandes grupos de personas, localizadas y off-shore, sin dejar de perder de vista el lado técnico y freak del sector. Ha trabajado en varias empresas del sector con distintos roles en áreas tanto de gestión de servicios de soporte como de equipos de desarrollo. Actualmente trabaja en WebBeds, como responsable del equipo de operaciones TI.

4 comments

  1. Kico 12 noviembre, 2018 at 16:47 Responder

    Y no olvides que a veces lo que tú piensas que es mierda feliz realmente tiene amigos que cuando la echan en falta te pueden liar un cipostio de proporciones épicas. Esa tabla que nadie lee ni consulta resulta que una vez al trimestre o al año está en un inner join perdido que al fallar deja de actualizar vete a saber que tabla que se utiliza en contadas ocasiones..

    Yo por si acaso cuando me encuentro mierda feliz la vuelvo a dejar donde estaba no vaya a ser que tenga amiguitos :DD Sobretodo si no es mi código que hay gente con una capacidad increible para programar con el culo

  2. Oscar 13 noviembre, 2018 at 11:32 Responder

    Al principio de los tiempos, yo generaba mierda a capazos. Luego me convertí en un paladín de la limpieza, y me encontré con casos como el que comenta Kico, que te hacen replantearte cosas. Hoy en día, mi criterio es:

    – ¿Es mierda o solamente una implementación un pelín retorcida? En el primer caso, goto siguiente punto.
    – ¿Tiene tests? Si los tiene, mejor, pero, en cualquier caso, goto siguiente punto.
    – ¿Es fácil de modificar/quitar? Es decir, ¿se vuelve todo mi proyecto un gran error de compilación si lo toco? Si no es así, tocar, probar y, en caso de funcionar, subir al SCM. Si no, deshacer cambios, y seguir con mi vida.

Post a new comment