Putting it together

by Luismi Cavallé

Según cuentan Dave Thomas y Andy Hunt en The Pragmatic Programmer, durante la alcaldía de Rudolph Giuliani en Nueva York un serie de estudios sobre la delincuencia en la ciudad indicaban que existía una relación entre los barrios con más ventanas rotas y aquellos con un mayor índice de delincuencia. Estos estudios sostenían que dejar una ventana rota sin arreglar tendía a atraer nuevos desperfectos a su alrededor: más ventanas rotas, basuras sin recoger, pintadas y graffitis… y finalmente un incremento de la delincuencia en la zona.

Giuliani, además de ser el alcalde de Nueva York durante el 11-S, es conocido por ser el alcalde que limpió sus calles de prostitutas, vagabundos y delincuentes. Entre las medidas que se siguieron, siguiendo las teorías de este tipo de estudios, se encuentran la de reparar los desperfectos urbanos visibles en el menor tiempo posible, e intensificar la vigiliancia y ser más estrictos en cuanto a los delitos menores, como no pagar el billete de metro u orinar en la vía pública.

Cuando en su momento hablaba acerca de cómo el código bonito atrae al código bonito estaba presentando la argumentación inversa a la que los PragProgs nos proponen con la metáfora de las ventanas rotas. Dejar ventanas rotas en tu código no solo supone aumentar la deuda técnica sino tambien aumentar las probabilidades de que ese código empeore aún más en el futuro. Supongo que no es tanto una cuestión intrínseca al desarrollo de software, sino más bien relacionada con la psicología del programador: un código lleno de ventanas rotas, basura y pintadas motiva muy poco a la hora de mantenerlo; probablemente no nos importe dejar algún desperfectillo más.

Como Giuliani, podemos intentar mantener nuestro código libre pequeños desperfectos, atajando los delitos menores cuando todavía son manejables, y así evitar que la entropía nos acabe complicando la vida más adelante.

P.D. Es que hoy me he pasado el día arreglando ventanas