Hace unas semanas mi hijo Cristóbal, que pronto cumple 10 años, me preguntó algo simple:
—Papá, ¿a qué se dedica la empresa en la que trabajas?
Abrí la boca para responder y me di cuenta de que no tenía ni idea de por dónde empezar, porque “modernización de sistemas” no le iba a decir nada, “ingeniería de software con inteligencia artificial” tampoco se entiende, y “ayudamos a los bancos con sus sistemas centrales” sonaba a algo que él, con toda razón, iba a traducir como “papá trabaja con un computador”.
Así que le pedí que se imaginara una casa enorme y antigua donde vive y trabaja toda una empresa, una casa que tiene como 20 años y que la han ido ampliando distintas personas con el tiempo, unos le pusieron un baño, otros una pieza, otros una sala de estar, hasta que un día apareció una sala de juegos, cada uno agregó su toque especial y nadie guardó los planos.
Le dije que dentro de las murallas hay cables que nadie ve, y que si se corta uno, a veces se va la luz en otra pieza y nadie entiende muy bien por qué. Ahí me interrumpió con que era como una casa encantada o misteriosa, y me preguntó por qué entonces no la botaban y construían una nueva.
Esa pregunta es tema de conversación con muchos clientes. Le expliqué que sí se podía, pero con una condición difícil: la familia, o sea la empresa, tendría que seguir viviendo en la casa mientras se construye la otra, lo que toma años, es carísimo, y el día de la mudanza uno tiene que cruzar los dedos para que todo funcione en la casa nueva y que no se haya quedado nada importante atrás en la antigua.
Le conté entonces en qué consiste nuestra trabajo, que tenemos un programa que escanea toda la casa antigua y genera sus planos, incluyendo las instalaciones que están ocultas, tanto las bien hechas como las que no, y que es como mirar el interior de un edificio en Minecraft, de esos que uno mismo construye, y entender cómo está armado.
Que con esos planos decidimos por dónde partir a construir la nueva, pieza por pieza, como si fuera un Lego, y que mientras se construye el mismo programa va revisando que todo quede conectado como corresponde, que el agua corra por donde tiene que correr y que al prender la luz de la cocina se ilumine la cocina y no el baño. Y así, de a poco, la casa nueva va creciendo y la antigua va desapareciendo, sin que nadie tenga que mudarse de inmediato.
Se quedó pensando un rato y dijo algo así como:
—Ah, o sea estás haciendo esos planos que se habían perdido. Es como dibujar el plano de la casa.
Yo mismo no lo habría explicado mejor.
Llevo años hablando de dependencias, deuda técnica, arquitectura y migraciones, términos que son útiles pero que también terminan siendo una forma cómoda de evitar decir las cosas de manera simple. Cuando uno tiene que explicarle su trabajo a un niño no hay excusa: hay que decir cuál es el problema, por qué es un problema y qué estamos haciendo para que sea menos problemático.
Y lo que salió, sin la jerga técnica, fue que el problema de las empresas con la tecnología heredada tiene menos que ver con la tecnología en sí y más con que los planos se perdieron en el camino.
Esto me pasa una y otra vez en las conversaciones con clientes, sistemas que funcionan, que llevan años dando servicio, que no tienen fallas graves pero que nadie entiende del todo, donde cada cambio se hace con cautela, casi con miedo, porque nadie sabe bien qué cable se va a cortar. Y cuando se toma la decisión de modernizar, la tentación es la misma que tuvo mi hijo, botar la casa y construir una nueva.
Hace más de veinte años un ingeniero de software llamado Martin Fowler describió otro enfoque, inspirado en un árbol que crece alrededor de otro hasta reemplazarlo, y lo que más me llamó la atención de su texto fue la advertencia de que las sustituciones parecen fáciles de definir, pero la dificultad real está en entender cómo funciona lo que ya existe. Construir la casa nueva, al final, resulta ser la parte más fácil, porque lo que de verdad cuesta es entender a la antigua.
Ahora, cuando voy a reunirme con un cliente que quiere modernizar sus sistemas, me acuerdo de esa conversación, y antes de hablar de tecnología, plazos o arquitectura me hago una pregunta más de fondo: ¿alguien tiene los planos de esta casa?
Casi siempre la respuesta es que no, o no del todo, y no pasa nada porque para eso estamos nosotros, pero también entendí que cualquier cambio que se haga sin esos planos termina siendo más o menos una partida de ruleta rusa. En Tinet lo explicamos así, para que hasta mi hijo lo entienda sin problema: primero los planos, después los cambios.
Hasta el día de hoy no sé si entendió del todo a qué me dedico, pero al día siguiente le dijo a su hermano, que ya sabía a qué se dedicaba papá, con mucha seguridad.
—Papá arregla casas sin planos.
Me pareció una buena descripción, me hizo mucho sentido.