Las matrices de riesgos son una herramienta crucial en la gestión de proyectos, que permite a los equipos evaluar y priorizar los riesgos considerando su probabilidad y gravedad. A continuación, se presenta una guía para implementarlas en monday.com y usar fórmulas para calcular automáticamente la puntuación de riesgo basada en estas dos dimensiones.
Si no está familiarizado con la app Advanced Formula Booster que reinventa las formulas de monday.com, le recomiendo leer Las nociones básicas de Advanced Formula Booster. El artículo le guía a través de los pasos para crear su primera fórmula y luego automatizarla con la ayuda de capturas de pantalla y un video.
Paso 1: dedicar un tablero a la matriz
Aquí tiene un ejemplo de matriz de riesgos configurada como un tablero en monday.com.
Paso 2: crear una formula
La matriz se encuentra en su propio tablero. Los riesgos a evaluar, en otro tablero. Podría estar preguntándose cómo vamos a conectar los dos… No es necesario. Advanced Formula Booster puede leer (y actualizar, pero aquí solo necesitamos leer) los datos de otro tablero. Así, podemos sin problema alguno crear, en el tablero que contiene los riesgos, una fórmula que leerá la matriz.
A continuación, se presenta la sintaxis de la fórmula.
1: —Obtener el número de la fila correspondiente a la probabilidad
2: [LikelihoodRow]=IF({Likelihood}=”Very Likely”,1)
3: [LikelihoodRow]=IF({Likelihood}=”Likely”,2)
4: [LikelihoodRow]=IF({Likelihood}=”Possible”,3)
5: [LikelihoodRow]=IF({Likelihood}=”Unlikely”,4)
6: [LikelihoodRow]=IF({Likelihood}=”Very Unlikely”,5)
7: —Obtener los grados correspondientes a la gravedad
8: [RiskValues]=IF({Severity}=”Negligible”,{MatrixItems.Negligible})
9: [RiskValues]=IF({Severity}=”Minor”,{MatrixItems.Minor})
10: [RiskValues]=IF({Severity}=”Moderate”,{MatrixItems.Moderate})
11: [RiskValues]=IF({Severity}=”Significant”,{MatrixItems.Significant})
12: [RiskValues]=IF({Severity}=”Severe”,{MatrixItems.Severe})
13: —Extraer el grado adecuado
14: {Risk Assessment}=GETELEMENT([LikelihoodRow],[RiskValues])
Observe que se encuentran 2 tipos de campos de columnas. Uno utiliza un prefijo MatrixItems. El otro no utiliza prefijo.
- Los campos sin prefijo se refieren a las columnas del tablero actual.
- Los campos con prefijo se refieren a las columnas del tablero Matrix. Por ejemplo, {MatrixItems.Negligible} devuelve los valores de la columna ‘Negligible’ en la matriz de riesgos (todos los valores de las columnas se devuelven en una única lista).
Para entender mejor la fórmula, vea la captura de pantalla de la simulación que realizamos sobre un elemento cuya probabilidad está definida como “Muy probable” y la gravedad como “Moderada”.
En la 1.ª sección de la fórmula, obtenemos la probabilidad del elemento y registramos el número de fila correspondiente que ocupa en la matriz. En este ejemplo, el número de fila es 1 (Muy probable).
En la 2.ª sección, obtenemos la lista de grados correspondientes a la gravedad del elemento. Estos grados se recuperan utilizando {MatrixItems.Moderate}. Obtenemos una lista de grados: Med Hi|Medium|Medium|Low Med|Low Med (el | es el carácter utilizado por Advanced Formula Booster para separar los elementos de una lista).
En la línea 14, simplemente extraemos el grado que nos interesa de la lista de grados, es decir, la de la fila n.º 1, ‘Medio Alto’.
Paso 3: añadir 2 automatizaciones en el Centro de Automatización
Necesitamos añadir 2 automatizaciones al tablero de monday.com. Una para ejecutar la fórmula cuando la columna ‘Gravedad’ cambia y otra cuando la columna ‘Probabilidad’ cambia.
Paso 4: probar
Técnicas avanzadas para volver esta fórmula más concisa y flexible
Llevemos el razonamiento un poco más allá. ¿Qué pasaría si de alguna manera las líneas de la matriz fueran mezcladas? ¿Y si decidieras renombrar uno de los grados de probabilidad?
En la fórmula anterior, las instrucciones de las líneas 2 a 6 pueden ser reemplazadas por una única instrucción que no hace ninguna referencia a los grados de probabilidad.
1: —Obtener el número de la fila correspondiente a la probabilidad
2: [LikelihoodRow]=FINDPOSITION({Likelihood},{MatrixItems.Name})
3: —Obtener los grados correspondientes a la gravedad
4: [RiskValues]=IF({Severity}=”Negligible”,{MatrixItems.Negligible})
5: [RiskValues]=IF({Severity}=”Minor”,{MatrixItems.Minor})
6: [RiskValues]=IF({Severity}=”Moderate”,{MatrixItems.Moderate})
7: [RiskValues]=IF({Severity}=”Significant”,{MatrixItems.Significant})
8: [RiskValues]=IF({Severity}=”Severe”,{MatrixItems.Severe})
9: —Extraer el grado adecuado
10: {Risk Assessment}=GETELEMENT([LikelihoodRow],[RiskValues])
Al usar la función FINDPOSITION sobre los nombres de los elementos en la matriz Matrix, obtenemos inmediatamente el número de la fila. De hecho, {MatrixItems.Name} devuelve una lista compuesta por los grados de probabilidad (Very Likely|Likely|Possible|Unlikely|Very Unlikely).
Para profundizar aún más, la técnica de Column Late Binding puede utilizarse para seleccionar la columna de gravedad apropiada de la cual extraer los valores de riesgo.
1: —Obtener el número de la fila correspondiente a la probabilidad
2: [LikelihoodRow]=FINDPOSITION({Likelihood},{MatrixItems.Name})
3: —Obtener los grados correspondientes a la gravedad (Late Binding)
4: [Severity]={Severity}
5: [RiskValues]={MatrixItems.[Severity]}
6: —Extraer el grado adecuado
7: {Risk Assessment}=GETELEMENT([LikelihoodRow],[RiskValues])
Conclusion
Este ejemplo demuestra como la capacidad de Advanced Formula Booster para leer (y actualizar) columnas en otros tableros de monday.com amplía considerablemente los límites de lo que es posible hacer con fórmulas en monday.com.