Les matrices d’évaluation des risques sont un outil crucial dans la gestion de projet, permettant aux équipes d’évaluer et de prioriser les risques en considérant leur probabilité et leur gravité. Voici un guide pour les mettre en place sur monday.com et utiliser des formules pour calculer automatiquement le score de risque basé sur ces deux dimensions.
Si vous n’êtes pas familier avec l’app Advanced Formula Booster qui réinvente les formules de monday.com, je vous recommande de lire Les notions de base d’Advanced Formula Booster. Cet article vous guide à travers les étapes de création de votre première formule, puis de son automatisation à l’aide de copies d’écran et d’une vidéo.
Étape 1 : dédier un tableau à la matrice
Voici un exemple de matrice des risques configurée comme un tableau sur monday.com.
Étape 2 : créer une formule
La matrice est dans son propre tableau. Les risques à évaluer dans un autre tableau. Vous vous demandez peut-être comment nous allons connecter les deux… Ce n’est pas nécessaire. Advanced Formula Booster peut lire (et mettre à jour, mais ici nous avons seulement besoin de lire) les données d’un autre tableau. Ainsi, nous pouvons sans problème créer, dans le tableau qui contient les risques, une formule qui lira la matrice.
Voici la syntaxe de la formula.
1: –Obtenir le numéro de la rangée correspondant à la probabilité
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: –Obtenir les scores correspondant à la gravité
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: –Extraire le score adéquat
14: {Risk Assessment}=GETELEMENT([LikelihoodRow],[RiskValues])
Remarquez qu’on y trouve 2 types de champs colonnes. L’un utilise un préfixe MatrixItems. L’autre n’utilise pas de préfixe.
- Les champs sans préfixe font référence aux colonnes du tableau courant.
- Les champs avec préfixe font référence aux colonnes du tableau Matrix. Par exemple, {MatrixItems.Negligeable} retourne les valeurs de la colonne ‘Negligible’ dans la matrice des risques (toutes les valeurs des colonnes sont retournées dans une seule liste).
Pour mieux comprendre la formule, voyez la capture d’écran de la simulation que nous avons réalisée sur un élément dont la probabilité est définie comme “Très probable” et la gravité comme “Modérée”.
Dans la 1ère section de la formule, nous obtenons la probabilité de l’élément et enregistrons le numéro de ligne correspondant qu’il occupe dans la matrice. Dans cet exemple, le numéro de ligne est 1 (Très probable).
Dans la 2ème section, nous obtenons la liste des scores correspondant à la gravité de l’élément. Ces scores sont récupérés en utilisant {MatrixItems.Moderate}. Nous obtenons une liste de scores : Med Hi|Medium|Medium|Low Med|Low Med (le | est le caractère utilisé par Advanced Formula Booster pour séparer les éléments d’une liste).
À la ligne 14, nous extrayons simplement le score qui nous intéresse dans la liste des scores, c’est-à-dire celui de la ligne n°1, ‘Med Hi’.
Étape 3: ajouter 2 automatisations dans le Centre d’automatisation
Nous avons besoin d’ajouter 2 automatisations au tableau monday.com. Une pour exécuter la formule lorsque la colonne ‘Gravité’ change et une autre lorsque la colonne ‘Probabilité’ change.
Étape 4: tester
Techniques avancées pour rendre cette formule plus concise et plus flexible
Poussons le raisonnement un peu plus loin. Que se passerait-il si d’une manière ou d’une autre les lignes de la matrice étaient mélangées ? Et si vous décidiez de renommer l’un des degrés de probabilité ?
Dans la formule ci-dessus, les instructions des lignes 2 à 6 peuvent être remplacées par une seule instruction qui ne fait aucune référence aux degrés de probabilité.
1: –Obtenir le numéro de la rangée correspondant à la probabilité
2: [LikelihoodRow]=FINDPOSITION({Likelihood},{MatrixItems.Name})
3: –Obtenir les scores correspondant à la gravité
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: –Extraire le score adéquat
10: {Risk Assessment}=GETELEMENT([LikelihoodRow],[RiskValues])
En utilisant la fonction FINDPOSITION sur les noms des éléments dans le tableau Matrix, nous obtenons immédiatement le numéro de la ligne. En effet, {MatrixItems.Name} renvoie une liste composée des degrés de probabilité (Very Likely|Likely|Possible|Unlikely|Very Unlikely).
Pour aller encore plus loin, la technique de Column Late Binding peut être utilisée pour sélectionner la colonne de gravité appropriée à partir de laquelle extraire les valeurs de risque.
1: –Obtenir le numéro de la rangée correspondant à la probabilité
2: [LikelihoodRow]=FINDPOSITION({Likelihood},{MatrixItems.Name})
3: –Obtenir les scores correspondant à la gravité (Late Binding)
4: [Severity]={Severity}
5: [RiskValues]={MatrixItems.[Severity]}
6: –Extraire le score adéquat
7: {Risk Assessment}=GETELEMENT([LikelihoodRow],[RiskValues])
Conclusion
Cet exemple démontre à quel point la capacité d’Advanced Formula Booster à lire (et mettre à jour) des colonnes dans d’autres tableaux de monday.com repousse les limites de ce qu’il est possible de faire avec des formules dans monday.com.