Putting it together

by Luismi Cavallé

La deuda técnica

14 Jan 08

Llego, leyendo acerca de las motivaciones para refactorizar según Jay Fields, al interesante concepto de la deuda técnica. Se trata de una metáfora según la cual desarrollar de manera rápida y sucia, reduciendo la calidad, supone adquirir una deuda. Una deuda, como la financiera, cuyos intereses pagaremos irremediablemente en el futuro pero que, eventualmente, podremos disminuir de golpe refactorizando.

Es fácil encontrar paralelismos. Como con cualquier deuda, la técnica limita tu capacidad de acción. De manera constante y puntual tienes que acudir a tu cita con el pago y esto te impide llevar a cabo cambios importantes. Pierdes agilidad, en definitiva. Si nos limitamos a pagar los intereses, la deuda seguirá estando ahí de por vida.

Lo que me parece más interesante del enfoque es la idea de que en ocasiones la única manera de alcanzar un objetivo es adquirir una deuda. Y que vivir con una determinada deuda puede ser perfectamente posible si se obtiene un beneficio mayor. Hoy en día muchas operaciones financieras de éxito se basan en una gestión beneficiosa de alguna deuda (sin ir más lejos, comprarse una casa!)

Por tanto, desarrollar en determinadas circunstancias reduciendo la calidad puede resultar aceptable siempre y cuando seamos conscientes de la deuda que adquirimos y la mantengamos a raya refactorizando habitualmente. Esto no es fácil porque, a diferencia de otras deudas, la técnica no es cuantitativa, con lo que no es posible trazar nitidamente el umbral de deuda que vas a ser capaz manejar en el futuro sin que se te vaya de las manos.

Aunque, personalmente, me motiva más la idea de escribir código bonito que la de gestionar la deuda técnica.