La teoría de las ventanas rotas

25 Oct
2011



Gracias al bueno de Carlos Badenes he redescubierto lo que se conoce como “la teoría de las ventanas rotas”.

Es el nombre de un efecto que ya conocía hacía tiempo sólo que aplicado a otras facetas de la vida, aunque gracias a la charla que tuve con Carlos he podido ver que tiene muchas aplicaciones en el mundo de la programación y del desarrollo de proyectos. A continuación cito una entrada de Fernando Blat donde se explica este concepto con bastante claridad:

A principios de la década de 1980, el politólogo James Q. Wilson se juntó un buen día, puede que incluso soleado, con el criminólogo George Kelling para formular una interesante teoría que justificaría la mismísima guerra preventiva: broken window theory. El principio es muy sencillo, se parte de un edificio en un lugar concreto que se encuentra vacío o sin mantenimiento. En un momento determinado, una ventana aparece rota. Si esta ventana no es reparada o sustituida por otra nueva, pronto aparecerá una segunda ventana rota. Algunas más en poco tiempo. Tras esto, la basura empezará a amontonarse en las puertas de la entrada y en otros lugares del exterior. Una sensación de inseguridad y de abandono que irá en aumento hasta que hacen acto de presencia los primeros merodeadores y vagamundos, incluso algún que otro delincuente de poca monta. Una degradación que terminará atrayendo un foco de delincuencia alrededor del lugar en el que se encuentra el edificio.

Todo se degrada por una ventana rota. Es decir, si se permite una mínima infracción, todo puede terminar degenerándose. Una premisa sencilla y directa que el célebre ex Alcalde de Nueva York puso en práctica. Giulani incluyó esta teoría en su programa electoral y la puso en práctica persiguiendo las transgresiones menores como los grafitos, pequeños hurtos, viajar sin pagar el billete, detener a la gente que se colaba en el metro… Especial relevancia tuvo el último caso. El Alcalde encargó a su jefe de policía, un tal Howard Safir, que detuviese a todas aquellas personas que se colasen en el metro, sobre todo aquellas que lo hicieran de una manera brusca (es decir, corriendo y saltando la valla). Los índices de delincuencia bajaron casi un 40%, dándose la circunstancia de que muchas de estas personas que se colaban en el metro habían cometido un delito antes.

Llegados a este punto me gustaría que tú, estimado compañero de profesión, fueras sincero contigo mismo y, pensando en tu trabajo, te dieses 10 segundos para responder una difícil pregunta que te va a poner en un aprieto:

¿Cuántas ventanas estás rompiendo?



Fíjate en que no estoy preguntando cuántas había rotas cuando llegaste, ni quién empezó a romperlas, ni tampoco quiero que encuentres el motivo que propició que las rompieras (plazos, cambios de última hora, presiones, etc). Tan sólo quiero que tomes consciencia de que, posiblemente, tú también estás rompiendo ventanas incrementando, por tanto, la tan temida y difícil de pagar deuda técnica.

Piénsalo, medítalo y, cuando acabes, date otros 10 segundos para responder a esta otra dificil pregunta:

¿Cuántas ventanas estás arreglando?



Porque es muy sencillo quejarse: “el código no lo entiende nadie”, “la documentación no está actualizada”, “no hay tests”, “los tests no se ejecutan porque no funcionan”, “no tenemos claro qué tenemos que hacer”, “el código no compila”, etc. y más fácil todavía entrar en el círculo de la comodidad y limitarse a cumplir con el “donde fueres, hicieres lo que vieres”, rompiendo ventanas.

Pero alguien debe ponerle el cascabel al gato y encargarse de conseguir que el código se entienda, de actualizar la documentación, de hacer tests que funcionen, de preguntar qué hay que hacer, de asegurarse de que el código compile, etc. al menos en la parcela en la cual uno tenga influencia, ¿no te parece?.

No es necesario parar tu actividad diaria para arreglar todas las ventanas rotas que existan a la vez. Por ejemplo puedes ir, en paralelo, documentando aunque sea brevemente aquello que vayas implementando, o haciendo tests que funcionen. Puedes preguntar qué tareas son las que habrá que realizar a medio plazo para anticipar posibles problemas que puedan surgir, o puedes instalar un servidor de integración contínua en tu ordenador y enseñarle a tu equipo lo útil que es. Alguien que se comporta así se convierte en una persona proactiva y en alguien valioso para su entorno. Dame una buena razón por la cual ese alguien no puedas ser tú.

Fijaros si encontrar ventanas rotas es importante que incluso hay metodologías, en concreto SCRUM, que le dedican una fase a su búsqueda y propuesta de soluciones y la llaman retrospectiva.

Ya sabes qué son y cómo identificarlas, así que no tienes excusas ni quejas posibles. La próxima vez que te encuentres frente a un proyecto con ventanas rotas sólo tienes dos opciones: puedes romper otra, haciendo que todo sea un poco peor, o puedes tratar de arreglar alguna, intentando que todo vaya un poco mejor. Tú decides.

Print

4 respuestas a La teoría de las ventanas rotas

Avatar

Carlos García

17 de Noviembre de 2011 a las 13:29

Excelente artículo Raúl. :-)

La gente debería de hablar más y hacer criticas constructivas para hacer que todo vaya a mejor, explicando el porqué de las cosas..

Te recomiendo que busques la fabula (Aguila o Pato) está relacionado y también es muy interesante.

Un abrazo

Avatar

Raúl Expósito

17 de Noviembre de 2011 a las 13:43

Muchas gracias por el comentario Carlitos,

Creo que la historia a la que te refieres es ésta:
http://www.dosideas.com/noticias/reflexiones/949-pato-o-aguila-tu-decides.html

Saludos

Avatar

Jose Manuel Sánchez

22 de Noviembre de 2011 a las 8:40

Hola Raúl,

Me gustó mucho la imagen mental que genera la rotura de la ventana ;)

Lo que comentas también está relacionado con el principio del Boy Scout del “Clean Code” de Robert C. Martin, cuando vayas al bosque déjalo como te lo encontraste o un poco mejor.

Un abrazo.

Jose.

Avatar

Raúl Expósito

22 de Noviembre de 2011 a las 9:21

Hombre, muy buenas Jose,

Casualmente he leído esa misma frase hace bastante poco:
http://www.dosideas.com/noticias/reflexiones/395-beneficios-del-codigo-hecho-con-calidad.html

De todos modos todo esto no es nuevo, ya lo dice el cartel del baño de mi oficina: “por el bien común mantengamos la limpieza de los servicios y urinarios para beneficio de todos” :)

Un abrazo,
Raúl

Deja tu comentario


subir