Bruce Beizer. La paradoja del pesticida

La inclusión de pruebas unitarias, la automatización del testing, la inclusión de software para trazar comportamientos irregulares de una aplicación en un servidor de aplicaciones o de base de datos, etc…, son en algunos casos buenas prácticas y en otros buenas soluciones, siempre que se apliquen adecuadamente, y que pueden ayudar no solo a prevenir problemas sino a detectar la causa de otros que ya se han materializado.

Pero no solo eso, el cambio de versión de un determinado backend con el objetivo, por ejemplo, de mejorar el rendimiento de la aplicación ante una previsión de una mayor carga del sistema puede ser origen de nuevas anomalías, por más que pensemos que resulta improbable que se produzcan esos efectos.

Es importante que tengamos en cuenta que son elementos que se añaden ya sea al código o a la infraestructura y que pueden provocar a la vez nuevos problemas, en la misma aplicación o en otras. Esos problemas pueden ser el resultado de la incompatibilidad con otros artefactos o por errores humanos a la hora de desarrollarlos, configurarlos o instalarlos.

Es cierto que un sistema robusto, con una deuda técnica bajo control y la existencia dentro del departamento de TIC de mecanismos que permitan gestionar adecuadamente el cambio (en la inclusión o sustitución de elementos de infraestructura físicos y lógicos) reducirán la probabilidad de que estos problemas se produzcan, y mayor será la reducción cuanto más se invierta en ello (si la inversión se realiza de manera efectiva), hay que medir siempre la criticidad de los sistemas que estamos manejando y las consecuencias de su falta de disponibilidad o de tener un comportamiento anómalo.

Esta situación es la base de la paradoja del pesticida de Bruce Beizer: “Cada método que utilices para prevenir o encontrar errores deja un residuo de errores sutiles contra los que esos métodos resultan ineficaces”.

Esto nos lleva a la necesidad de ser prudentes, a la necesidad de medir el riesgo a la hora de realizar determinadas actuaciones, a la necesidad de no dar nada por sentado y a ampliar nuestro rango de visión cuando empecemos a detectar anomalías en un sistema y nos resulte complicado detectar su origen.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: