Últimamente por motivos de la crisis económica nos bombardean constantemente con información sobre como funciona la economía y estamos más atentos a que ocurre cuando se rescata un país, si se emite deuda, la inflación, los impuestos, etc.
De toda la documentación que he visto, la que más me ha gustado ha sido este video titulado Españistán en el que describe la deuda como secuestrar a la señora de la lejía que viene del futuro para que nos obtenga dinero del futuro. Pero llegará un momento en el que cuando lleguemos a ese futuro veremos como esa señora nos está robando nuestro dinero.
No es mi intención hablar de economía porque sería un "epic off-topic" pero si me gustaría comentar que el concepto deuda no es algo exclusivo de la economía. Para el desarrollo del software, Ward Cunningham propuso en 1992 el concepto de deuda técnica asemejándolo al objetivo de conseguir beneficios a corto plazo mediante un desarrollo pobre o con poca inversión.
Existen muchas formas de realizar proyectos con poca inversión. En el caso del software podemos ahorrarnos costes contratando personal no cualificado o tener al personal saturado de tareas. También se puede ahorrar saltándose pasos esenciales como la realización de test (ya sean automáticos o manuales) o alguna documentación formal. En general, saltarte tareas o exprimir los recursos hasta un punto inviable para el correcto funcionamiento del proyecto.
Aunque a simple vista se pueden ahorrar costes, en realidad lo que has realizado es aplazar la realización de una tarea. En algunas ocasiones hay suerte y las circunstancias cambian. Entonces piensas: "menos mal que no estuve la semana con aquel análisis porque hubiese sido perder el tiempo ya que ahora quieren otra cosa". Sin embargo, gran parte de las veces, los problemas que pueden dan una aplicación por saltarnos pasos pueden quitarnos gran parte de nuestro tiempo.
Por todo ello, es muy común que existan proyectos que cuando la deuda técnica se ha vuelto tan grande por querer abordar mucho más trabajo que el que se puede asimilar, haya conflictos al final de estos. Entonces empiezan a decir que si Fulanito es bla bla bla, Menganito esta ya cansado y no hace más que entrar a infojobs y en general un problema generado principalmente por la especulación y el beneficio a corto plazo.
Podríamos bautizar a esta situación como "la explosión de la burbuja del software". Este es el momento en el que vemos como la señora de la lejía que viaja en el tiempo nos roba nuestro tiempo gratuitamente y nadie quiere pagarlo.
Sin embargo, tampoco estoy del todo de acuerdo con que, por no hacer todos los pasos, se consiga un resultado óptimo. Tal y como dice Eduard Punset, el ser humano es muy malo para predecir que ocurrirá en sistemas complejos y el software puede llegar a ser un sistema muy complejo. ¿Quién te garantiza que conoces las necesidades o que no cambiarán?. La deuda técnica se evita si los pasos que se dan son los necesarios y correctos. Pero en el caso de pensar que existen unos pasos en una dirección cuando en realidad es en otra dirección, te hará caminar el doble.