Bienvenidos sean a este post, hoy veremos teoricamente como obtener la causa raiz de un problema.
Cuando nos referimos a RCA, estamos hablando del analisis de la causa raiz. Llevemos esto a la medicina, como medicos debemos saber diferenciar entre tratar a los sintomas y curar la condicion. Por ejemplo, si a un paciente con un brazo roto le damos analgesicos esto aliviara sus dolores pero lo ideal es operarlo para corregir sus huesos y curarlo gradualmente. RCA es un proceso sistematico para identificar la causa fundamental de un problema. Con la ayuda de las herramientas adecuadas, se intenta identificar la raiz de la causa del problema y para ello se utilizan un conjunto especifico de pasos. Esto nos permite determinar lo siguiente:
- Que sucedio?
- Como sucedio?
- Por que sucedio?
- Que enfoque debemos usar para evitar o reducir que esto vuelva a suceder?
RCA asume que un accion en un lugar ejecuta otra accion en otro lugar, y asi sucesivamente. Este rastreo de la accion nos encadena con el inicio, esto nos ayuda a descubrir el origen del problema y como se convierte en el sintoma que tenemos. Esto es lo que debemos seguir para arreglar o reducir los problemas del programa. RCA tiene algunos pasos basicos, veamos cuales son:
- Definir el problema: en este paso debemos obtener las respuestas de las preguntas que vimos anteriorrmente
- Recolector informacion: esto lo hacemos para el siguiente paso siendo el paso mas duro porque nos consume mas tiempo
- Hace un chart de los factores causales: nos provee una estructura de visualizacion para organizar y analizar los datos recolectados anteriormente. Este chart es un diagrama de secuencias con test logicos que explican los eventos que nos llevan a la ocurrencia de un sintoma.
- Identificar las causas de raiz: examinando el chart anterior podemos crear un diagrama de decision conocido como root cause map para identificar la o las causas de la raiz
- Recomendar e implementar soluciones: con la causa identificada las respuestas a las siguientes preguntas pueden ayudarnos: Que podemos hacer para prevenir que esto suceda de nuevo? Como se implementara una solucion? Quien sera el responsable de esto? Cuales son los riesgos de implementar esta solucion?
Vamos a suponer lo siguiente, tenemos un problema con tres sintomas denominados como A, B y C. El sintoma A puede ser causado por los eventos A1 y A2. El sintoma B por los eventos B1, B2, B3 y B4; y el sintoma C por los eventos C1 y C2. Despues de recolectar la informacion, nos damos cuenta que los sintomas A y C nunca aparecen y esto nos lleva a pensar que el sintoma B es la causa de nuestro problema. Si hacemos un analisis mas profundo observamos que los eventos B1 y B2 tampoco estan involucrados. Por lo tanto, los unicos involucrados son B3 y B4 y con estos identificados podemos proceder a trabajarlos para solucionarlos.
Si el software tiene un defecto, en lugar de simplemente arreglarlo en donde falla debemos implementar RCA para investigar la causa raiz original del problema. Las causas raiz del problema nos permiten rastrear los requerimientos, diseño, implementacion, verificacion, planeo de testing y datos ingresados. Cuando el inconveniente sea encontrado y solucionado, esto mejora la calidad del software y se reduce drasticamente los tiempos de mantenimiento en el mismo.
Esto es un breve resumen sobre lo que es RCA, si bien es muy supeficial y solo vemos como debemos tomar sus pasos para encontrar la raiz del inconveniente, poder solucionarlo y saber que no se volvera a reportar en el futuro sin importar las condiciones y/o eventos que esten involucrados.
En resumen, hoy hemos visto RCA, en forma teorica, algunos conceptos basicos sobre que trata, asi como algunas preguntas para analizarlo mas a fondo, asi como tambien sus pasos para analizarlo, y un caso donde vemos teoricamente como aplicarlo. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
