martes, 1 de enero de 2013

Desjolibudizando las causas raíz en IT: fallas sistémicas


En este artículo comento acerca de fallas sistémicas en IT, acerca de como prejuicios culturales pueden ser obstáculos en la rápida identificación y solución de problemas, y además de algunas características típicas vistas en sistemas fallando sistémicamente.


Patrones y Jolibud 123
Los seres humanos observan y descubren patrones por instinto y los sistemas naturales se prestan ampliamente a ser descubiertos al mostrar ciclos cuando se los observa con atención. Los sistemas artificiales también se descubren con facilidad.

A menos que tengamos los ojos cerrados, la mente cerrada. La cultura que adquirimos al crecer puede provocar esta ceguera mental autoimpuesta, donde conscientemente inclusive no prestamos atención a los patrones que la mente va descubriendo, es decir la nociones de como funciona el sistema están ahí, simplemente la persona no quiere verla.

Jolibud (o Hollywood), y la industria fílmica norteamericana crearon un modelo de película, de show que consiste en tres etapas, un método "123":

1. Introducción
2. Nudo temático
3. Resolución

Cuando nos ponemos a ver películas independientes ("indy"), y/o latinoamericanas, europeas, asiáticas, etc. obviamente muchos artistas y gente de la industria fílmica (actores, directores, productores de las películas, etc.), de esas otras culturas NO tiene la misma visión cultural "123", así puede que las películas no tengan introducción (u ocurra al final), o no tengan resolución alguna (el "mensaje" cultural es "lo importante es el viaje, no el destino", etc.), y demás caminos artísticos alternativos (http://en.wikipedia.org/wiki/Nonlinear_narrative > hay "un par" aparte del "123").

Por ejemplo:


La jolibudización de la visión cultural luego de décadas de estar mirando televisión y películas creadas con el método "jolibud 123" seguramente tiene un impacto real sobre la visión cultural de una persona, hace que la persona se comporte de determinadas maneras, que vea la vida de determinada forma, que mucho de lo que ve esté pre-determinado, incluso sin que la persona esté consciente de ello.

La detección de patrones tiene mucho que ver con la comparación, si tenemos el método "jolibud 123" grabado a fuego en el inconsciente, es obvio que la detección de patrones de muchas personas va a estar buscando - involuntariamente, inconscientemente -  donde están los tres "pasos" del 123: 

- donde comienza todo, 
- donde se desarrolló la cuestión
- a qué llegó finalmente



El "jolibud 123" y el Análisis de causa raíz

"Root Cause Analysis"


Este método de resolución de problemas se basa fuertemente en la idea cultura del "123" > "todo tiene un comienzo". Fue ideado específicamente para detectar y resolver problemas que pudieran estar causando fallas en cascada dentro de un sistema ( http://en.wikipedia.org/wiki/Cascading_failure ).

Funciona muy bien para muchos casos, no diría "la mayoría", simplemente para dejar abierta la mente a otras posibilidades. Esas otras posibilidades en muchos casos - esta vez sí - pueden llegar a ser fallas sistémicas.

Buscar mentalmente una estructura "introducción,nudo,resolución" constantemente en las historias que se ven alrededor puede tener un impacto negativo en nuestra capacidad de resolución de problemas cuando como profesionales IT buscamos una falla en un sistema. Prácticamente se estaría tratando de insertar el análisis de causa raíz a cualquier problema dado, independientemente de que sea compatible o no con el problema a resolver.

Cuando los administradores de sistema con experiencia te explican que - basados en sus múltiples años de experiencia - deberías pensar "out the box" por defecto, no intentar metodizar instantáneamente todo problema que veas un sistema, se refieren a que deberías considerar - también - las fallas sistémicas.

"There is No Such Thing as a Root Cause"

"Each necessary, but only jointly sufficient"


Fallas Sistémicas
La falla sistémica es el sistema completo que falla, hablando de causas raíz, no hay una sola causa raíz en una falla sistémica, puede haber varias, se presentan constantemente de vuelta incluso si las eliminamos constantemente, básicamente el sistema como un todo está destinado a no completar su objetivo. Etc.

En este punto no voy a "reinventar la rueda", hay tremendos razonamientos en un artículo que linkeo aquí, y del que voy a parafrasear o copi-pastear directamente varios de sus excelentes comentarios.

"El error humano y las fallas sistémicas"


Un sistema que fue diseñado para que bajo ciertas circunstancias fuese muy fácil detonar una o varias fallas y como sistema, y además vuelve prácticamente imposible prevenir que ello ocurra, presenta una falla sistémica.

En la práctica, cuando encontramos una falla sistémica la conclusión es inmediata: el sistema va a fallar en sus objetivos, tal vez no sepamos el "cuando", pero ya podemos tener la certeza de que fallará.

Una faceta de las fallas sistémicas es la búsqueda de una causa raíz "general", normalmente es "error humano".

"Una manera frecuente de error sistémico que generalmente se atribuye al error humano es el problema de capacitación o la falta de comunicación de instrucciones o políticas.  Si haces algo y te equivocas porque no sabías, no puedes ser responsable de algo que ni sabías que era un problema."

Es decir, en informática, cuando estemos analizando un sistema en falla sistémica y veamos constamente que toda falla se atañe casi con seguridad a personas puntuales, probablemente estemos viendo un sistema derrumbarse en vivo y en directo. Suma puntos extra el diagnóstico de falla sistémica total si las "causas raíz" son error humano y las personas que los cometen son profesionales IT altamente capacitados. Dobla la puntuación extra si constante y consistentemente los mismos profesionales IT siguen "cometiendo" esos mismos errores simples. Triplica la puntuación extra el que de "punta a punta" en toda la organización IT, son los profesionales IT que participan del sistema sean los que cometen errores, y comentarios como este son habituales "el sistema anda bien, es la gente que no sabe cómo usarlo".


Otra faceta es la consolidación, la gente se "acostumbra" a que el sistema falle, y la burocracia toma participación activa en el sistema en falla sistémica:

"...cada uno se ve como en una isla haciendo su trabajo, y en ese actuar, para hacerse más cómodo su trabajo termina rediseñando el sistema para crear con su actitud costos adicionales a otros que están al lado.  Y así es como las organizaciones se vuelven lentas y burocráticas, llenas de overheads causados por esa visión de túnel y autismo organizacional de la mala actitud."

Es decir la organización (el sistema total), que acuna al sistema informático en falla sistémica va a empezar a multiplicar los costos de mantener "vivo" al sistema informático, constantemente, hasta el punto en que las fallas sistémicas van a ser insuperables y el sistema informático completo dejar de funcionar, sin posibilidad de volver a "arrancarlo".

Las fallas sistémicas son un sumidero, un agujero negro de recursos, todo dinero, tiempo y otros recursos "invertidos" en parchear la falla sistémica no redunda en ganancias significativas  para la organización. 

Por ejemplo, en las empresas que están en falla sistémica como organizaciones, cuando se destina dinero (o cualquier otro recurso), a "arreglar el problema hoy como sea", la solución dura cada vez menos tiempo, hasta que desembolsar dinero constantemente para mantener vivo el sistema se vuelve necesario; está de más decir que una empresa no genera dinero constantemente, así que muy cerca de este punto de falla sistémica, la empresa tiende a desaparecer.

Es muy difícil "ver" este tipo pronóstico / diagnóstico en un sistema IT en falla sistémica. De hecho en cualquier sistema hace falta mucha preparación y experiencia para poder advertir a tan larga "distancia" (con tanto tiempo de anticipación), que las cosas se van a ir al garete.

En medicina por ejemplo, las fallas sistémicas son un campo de estudio permanente, con papers, tesis, comentarios y constante debate alrededor de un núcleo fuerte de experiencias, y reprocesando constantemente sus "hechos firmes" con nueva información que va surgiendo del campo investigativo.


Métodos alternativos de resolución de problemas
Si somos adeptos a tener metodologías para todo (atar cordones, colgar corbatas, escaleras, etc. :-), sin RCA (Root Cause Analysis), ¿Cómo hacemos para - metódicamente - encontrar y resolver problemas en IT?

Afortunadamente, hay muchas maneras, podés empezar por acá:




Conclusiones
Si una organización está en falla sistémica total, de punta a punta de la organización, los fallos se presentan constantemente, desde los más moderados, hasta los más graves, siempre con las características propias del fallo sistémico: los que administran el sistema "detectan quien o qué está fallando": una persona / empleado, un proveedor, un server, un escritorio, el color de la pintura, las sillas con patas flojas, etc. (ridiculizando así los ejemplos, se ve fácilmente la futilidad de remover componentes "fallidos" en una falla sistémica) - y lo remueven del sistema, sin modificar en absoluto el sistema (o con modificaciones insignificantes), luego el mismo tipo de problema vuelve a ocurrir, se vuelve a identificar un "culpable"  y luego de vuelta el sistema vuelve a fallar, y así sucesivamente.

La organización IT, fuertemente integrada en una organización no va poder persistir a largo plazo dentro de una organización en falla sistémica. No significa que vaya a desaparecer, sí implica que los objetivos que persigue como área a cargo de la informática en la organización, no van a poder ser cumplidos en muchos casos. Repito, no por incapacidad propia en el personal IT, tal vez ni siquiera la organización IT esté mal organizada, pero sí por el estado de falla sistémica del sistema total (la organización - o empresa - que acuna al área IT).

Etcéctera. Las fallas sistémicas son tema mucho más amplio evidentemente, espero que estas nociones dejen algo que pensar al lector, y así pueda ampliar el tema con investigación propia.

No hay comentarios: