lunes, 10 de julio de 2017

Deuda técnica


La deuda no es mala por sí misma.

Endeudarse es una forma de obtener recursos y con base en ellos impulsar nuestro negocio o nuestra vida. Mediante la deuda podemos afrontar iniciativas que, tal vez sin ella, fuesen imposibles. Nos endeudamos como personas, 'nos hipotecamos', para comprar una casa que difícilmente podríamos pagar al contado, o para permitirnos unos estudios o quizá un coche. Nos endeudamos como empresa para invertir en proyectos de futuro: una expansión internacional, una nueva línea de productos, una nueva tecnología productiva, unas nuevas infraestructuras...

La deuda proporciona lo que se denomina el apalancamiento financiero, y la palabra apalancamiento nos sugiere impulso, potenciación de capacidades. Y es así, sin el capital que se nos aporta al contraer una deuda, no podríamos imaginar llevar a cabo ciertos proyectos.

No. La deuda no es mala en sí misma. No es mala siempre que se gestione responsablemente, siempre que se mantenga en límites asumibles, siempre que seamos capaces de saldarla, siempre que la controlemos y no seamos controlados por ella.

Pero no sólo existe deuda financiera.

En el ámbito de las tecnologías de la información, Ward Cunningham acuñó el término deuda técnica, algo así como problemas latentes que creamos por decisiones erróneas o cortoplacistas y que, poco a poco comprometen la evolución de nuestra TI.

Esta es su explicación según es citada en 'The DevOps Handbook' de Gene Kim, Jez Humble, Patrick Debois y John Willis:

technical debt describes how decissions we make lead to problems that get increasingly more difficult to fix over time, continually reducing our available options in the future- even when taken on judiciously, we still incur interest.

¿Tampoco es mala la deuda técnica? ¿La podemos considerar un apalancamiento?

La verdad es que creo que la deuda técnica es fundamentalmente negativa. Suele responder a errores o falta de visión o planificación a medio/largo plazo.

En algunos casos particulares podría considerarse como un apalancamiento: situaciones en que adoptamos una solución no óptima a corto plazo, para tener resultados más rápido. Quizá, por ejemplo, en lugar de renovar sistemas para adaptarse a una nueva tecnología o arquitectura, construimos una capa sobre los existentes que 'simulan' esa adaptación.  El problema es que, rara vez se gestiona la deuda. Rara vez, eliminamos la capa que creamos como solución a corto para realizar la verdadera renovación. Rara vez, en definitiva saldamos la deuda contraída. Muchas veces ni siquiera recordamos haberla contraído. 

Por desgracia, la deuda técnica no suele controlarse sino que aumenta y aumenta... aumenta sin medida hasta que es preciso un 'rescate'.. o una desaparición.