Pourquoi et comment gérer les risques dans le développement de logiciels

Publié: 2021-10-05

Dans cet article, nous discutons des approches de la gestion des risques dans le processus de développement logiciel. Nous prêtons également attention à l'importance de la gestion des risques du point de vue de l'entreprise et du développement et donnons même un exemple de plan de gestion des risques.

Le 12 novembre 2019, Disney a lancé Disney Plus, un service de streaming de type Netflix avec un contenu original. Des milliers d'utilisateurs étaient prêts à payer 7 $ par mois ou plus pour profiter du contenu de Pixar, Marvel, Star Wars et de nombreuses autres franchises.

Les téléspectateurs impatients ont été déçus de regarder des écrans de panne pendant des jours au lieu du contenu pour lequel ils avaient payé. Les plaintes couvraient toute la gamme, des difficultés de connexion à l'impossibilité de diffuser, des échecs d'applications et des émissions et des films disparaissant de la bibliothèque.

Disney a attribué ces problèmes à une demande dépassant ses « attentes élevées ».

Il s'agit d'un exemple classique de mauvaise gestion des risques techniques dans le développement de logiciels .
Disney aurait-il pu éviter ces pannes ? Oui.
Pouvez-vous éviter des problèmes similaires? Oui aussi.
Dans cet article, nous allons plonger dans la gestion et l'atténuation des risques dans le développement de logiciels.

L'importance de la gestion des risques

L'importance de la gestion des risques

Chaque entreprise est unique et tous les risques ne peuvent pas être entièrement anticipés. Mais il existe certaines approches qui vous aident à identifier les goulots d'étranglement, à calculer la possibilité que des risques se produisent et à prédire l'impact négatif s'ils se produisent.

La gestion des risques est un ensemble complexe d'activités que les entreprises peuvent effectuer afin d'éviter ou d'atténuer les effets des risques.

Le but de la gestion des risques est de savoir ce qui peut mal tourner, pourquoi cela peut mal tourner, quel serait l'impact si cela se produisait et comment y remédier. Prévenu est prévenu.

L'avantage d'une bonne gestion des risques est qu'elle aide une entreprise à moins souffrir même lorsqu'un risque se matérialise.

La gestion des risques peut apporter les avantages suivants :

  • Économies de coûts en réduisant les dépenses sur les urgences prévisibles et évitables
  • La capacité de travailler plus rapidement en permettant aux équipes de développement de se concentrer sur le développement, et non sur la résolution de problèmes imprévus
  • Dépenses plus intelligentes en n'ayant pas besoin d'attirer des fonds supplémentaires pour résoudre des problèmes imprévus
  • Une meilleure réputation en garantissant aux clients que vous avez tout sous contrôle même en cas d'urgence

Types de risques

Un entrepreneur inexpérimenté espère que rien de mal n'arrivera à son entreprise. Un entrepreneur expérimenté sait que quelque chose de mauvais va arriver et s'y prépare à l'avance.

Alors, qu'est ce qui pourrait aller mal? En gros, n'importe quoi. Diverses approches de gestion des risques couvrent divers types de risques. Les catégories de risques les plus courantes pour les entreprises sont :

  • Risques humains — La maladie soudaine, la grossesse, l'arrestation, le décès ou le changement de carrière d'un membre de l'équipe peut entraîner de nombreuses conséquences, allant des retards de performance à la délégation de fonctionnalités à d'autres membres de l'équipe.

  • Emplacement ou risques géographiques — Chaque emplacement a ses problèmes spécifiques comme le climat, la situation politique, le fuseau horaire et les traditions de travail qui peuvent affecter le flux de travail.

  • Risques stratégiques — Des choses comme les problèmes de planification, le choix de la mauvaise stratégie et une mauvaise gestion ne peuvent pas être prévues dès le premier jour, mais doivent certainement être considérées comme un facteur de risque majeur.

  • Risques opérationnels ou de gestion - Ils sont très proches des risques stratégiques mais concernent davantage l'exécution : des problèmes de mise en œuvre, des dépendances de travail incorrectes, une mauvaise gestion, une prise de décision lente, une mauvaise hiérarchisation et de nombreux autres problèmes opérationnels peuvent retarder le développement de l'entreprise ou coûter une fortune à surmonter.

  • Risques juridiques — Il est bon d'étudier les lois et règlements de certaines régions au moins pour savoir si vous pouvez y faire des affaires. En outre, les lois ont tendance à changer, ce qui peut souvent entraîner des modifications fiscales et des problèmes de formalisation. Les risques juridiques incluent également les modifications apportées aux règles et réglementations des plates-formes commerciales telles qu'Amazon, l'App Store d'Apple et Google Play.

  • Risques techniques — Une technologie choisie peut sembler parfaite sur le papier mais se comporter différemment en action. Les mises à jour constantes, les changements dans les environnements opérationnels, les problèmes de maintenance et de nombreux autres aspects techniques peuvent avoir un effet important sur l'entreprise.

Selon le type d'entreprise, de nombreux autres facteurs de risque peuvent apparaître, et les facteurs énumérés ci-dessus peuvent changer. Mais connaître ces risques vous aide à choisir une stratégie de gestion des risques adaptée.

Stratégies de gestion des risques

Les approches de la gestion des risques diffèrent selon de nombreux facteurs, mais voici quelques-unes des stratégies de gestion des risques les plus courantes :

Évitement des risques

Il s'agit d'une stratégie radicale où une entreprise refuse de prendre un risque et refuse d'exercer une activité.

Il existe des types de risques pour lesquels le prix d'une erreur est trop élevé. Par exemple, si vous connaissez les limites des capacités techniques d'une solution, il est sage de ne pas surcharger la solution avec un projet à forte charge. Dans ce cas, le coût de l'échec peut être supérieur aux revenus possibles.

En bref, il est parfois normal de ne pas s'engager dans certaines activités commerciales afin de ne pas échouer.

Avantages : Rapide à mettre en œuvre — il vous suffit de refuser ou d'accepter l'activité.

Inconvénients : Laissez les revenus potentiels sur la table.

Bon pour : Entreprises avec plusieurs succursales et sources de revenus.

À utiliser quand : Le préjudice causé par le risque possible est supérieur au bénéfice possible de l'activité.

Atténuation des risques

Il s'agit d'une stratégie visant à rendre les conséquences négatives moins graves plutôt que de les éviter complètement.

Lorsque vous exploitez une entreprise plus compliquée que de vendre de la limonade dans votre jardin, vous pouvez être confronté à des problèmes que vous ne pouvez pas éviter. Dans ce cas, il est recommandé d'identifier et d'atténuer les conséquences de ces risques.

Cela fonctionne pour les risques spécifiques connus, en particulier dans les projets logiciels. Avertissez vos clients des problèmes à venir ou proposez une solution temporaire. Les clients ne repartiront peut-être pas satisfaits, mais au moins ils ressentiront l'attention que vous leur portez . Par exemple, McDonald's offre un coupon pour une crème glacée gratuite si vous attendez plus de 90 secondes pour une commande.

Avantages : Vous ne gaspillez pas vos ressources pour éliminer le risque. Au lieu de cela, vous travaillez avec ses conséquences, en essayant de les rendre moins graves, ce qui est souvent beaucoup plus facile à faire.

Inconvénients : vous et votre client devez toujours faire face aux conséquences négatives du risque.

Bon pour : les entreprises avec des clients fidèles, les entreprises sensibles au timing, les prestataires de services.

À utiliser quand : le risque ne peut pas être complètement évité mais le service doit quand même être livré à temps ; situations d'urgence.

Transfert de risque

Avec cette stratégie, vous payez quelqu'un d'autre pour faire face aux conséquences négatives.
Si votre entreprise ne peut pas gérer un certain risque, demandez de l'aide. Cela peut être une approche très coûteuse de la gestion des risques dans le développement de logiciels, mais les résultats peuvent répondre aux attentes du client et garder votre entreprise sur la route. C'est aussi bon dans le contexte de libérer votre équipage du sale boulot qu'ils ne veulent pas faire, ce qui conduit à une meilleure concentration et à une meilleure qualité.

Avantages : Simple et surtout rapide à réaliser.

Inconvénients : peut coûter une fortune et vous aurez moins de contrôle sur une partie de votre entreprise.

Bon pour : les entreprises avec une charge élevée sur certains de ses composants ou pour la mise en œuvre de fonctionnalités pour lesquelles vous n'avez pas beaucoup d'expertise.

À utiliser quand : Une activité doit être bien exécutée et rapide, sans avoir le temps d'acquérir votre propre expertise ou de former vos propres professionnels.

Acceptation des risques

Comme son nom l'indique, avec cette stratégie, vous acceptez simplement toutes les conséquences négatives d'un risque.

Il peut y avoir des cas où le profit d'une activité commerciale est bien supérieur à l'impact du risque éventuel. Dans ce cas, il est normal qu'une entreprise accepte simplement le risque. Mais les utilisateurs doivent être avertis des conséquences de l'acceptation du risque.

Microsoft utilise cette stratégie lorsqu'il cesse de maintenir d'anciennes versions de produits, comme Windows XP.

Avantages : Ne nécessite presque aucune ressource.

Inconvénients : Vous obtenez toutes les conséquences négatives.

Bon pour : les entreprises établies où la mise en œuvre de nouvelles fonctionnalités est plus importante que la prise en charge des anciennes.

Utiliser quand : Une activité ne nuit pas à la majorité des utilisateurs ou lorsque le profit de l'activité livrée pour l'utilisateur est plus élevé que les inconvénients possibles.

Notez qu'aucune de ces stratégies n'est une panacée. Tout autre type de risque peut accompagner le risque technologique et influencer le résultat de votre travail. Et dans la plupart des cas, la stratégie de gestion des risques pour un projet particulier sera un mélange des stratégies ci - dessus , en tenant compte des aspects particuliers de l'entreprise.

Comment gérer les risques en utilisant une méthodologie agile (exemple)

Gérer les risques en utilisant une méthodologie agile

Voici à quoi peut ressembler une stratégie de gestion des risques de développement logiciel chez Mind Studios.

Phase 1. Identification du risque

Quand : Pendant la phase d'évaluation du projet

Durant cette phase, le chef de projet rassemble l'équipe de développeurs et de designers pour une session de brainstorming, recherchant tous les risques possibles et ce qui peut les déclencher.

Étapes nécessaires :

  • Rappelez-vous les problèmes que nous avons rencontrés dans les projets précédents ; essayer de découvrir toutes les inconnues connues
  • Définir les zones où tout type de risque est susceptible de se produire dans ce projet particulier
  • Évaluer l'impact de chaque facteur auquel nous pourrions être confrontés lors du développement du produit

Phase 2 : Analyser et évaluer les risques

Quand : Juste après la phase d'évaluation du projet

Dans cette phase, les risques sont identifiés puis catégorisés. Ici, les chefs de projet analysent également l'impact possible d'un risque et la probabilité qu'il se produise. Dans cette phase, il est bon de prendre en compte la complexité du projet, les qualités de test et les dépendances entre les équipes de développement.

Le résultat de cette phase est une liste de conséquences définies pour chaque type de risque :

  • Pertes possibles pour le client
  • Problèmes possibles pour l'entreprise
  • Pertes de réputation
  • Probleme juridique

Phase 3 : Créer un plan de gestion des risques et l'approuver avec le client

Quand : Juste avant le début du développement

Au cours de cette phase, les chefs de projet formalisent les activités de gestion des risques dans des plans. Habituellement, le plan de gestion des risques d'un projet est un tableau avec les colonnes suivantes :

  • Définition du risque

Nous définissons le problème qui pourrait survenir et le décrivons en une phrase courte. La définition doit être clairement comprise même en un coup d'œil, nous avons donc tendance à décrire le problème de la manière la plus courte possible : "manque de puissance du serveur", "impossible de télécharger le contenu utilisateur", "retard de publication du Play Store" et des descriptions similaires sont clair et concentré sur le problème.

  • Gâchette

Nous décrivons comment nous pouvons savoir si le risque s'est matérialisé. Qu'est-ce qui nous dira exactement sur le problème et à quoi il peut ressembler ? Si le déclencheur peut provenir de différentes sources, nous devrions tous les nommer. Il est normal de hiérarchiser la liste des sources de déclenchement par probabilité ou valeur.

  • Probabilité (score)

Nous définissons la possibilité qu'un risque survienne. Selon le nombre et l'importance des risques possibles, nous suggérons le score maximum et minimum - par exemple, 100 et 1. Un risque plus probable obtient un score plus élevé.

  • Impact (score)

Dans cette colonne, nous notons la gravité de chaque type de risque.

  • Valeur (note)

Nous définissons l'importance d'un risque particulier pour le projet. Un nombre plus élevé signifie une priorité plus élevée. Chez Mind Studios, nous définissons généralement la valeur d'un risque en multipliant ses scores d'impact et de probabilité. Mais vous êtes libre de définir cette valeur comme vous le souhaitez en fonction des exigences et des particularités de votre entreprise.

  • Stratégie principale

Nous nommons la stratégie ou l'approche principale que nous allons utiliser pour gérer le risque, par exemple, transférer, atténuer ou accepter.

  • Stratégie alternative (si disponible)

Dans le cas où la stratégie principale n'est pas acceptable, nous nommons une stratégie secondaire. Par exemple, si un risque ne peut pas être transféré pour le moment, nous pouvons lancer le processus d'atténuation. Nous vous recommandons de créer autant de stratégies que possible pour chaque type de risque.

  • Plan d'action pour la stratégie choisie

Il s'agit de la partie la plus détaillée de la stratégie, où nous créons un guide étape par étape pour sa mise en œuvre. En conséquence, nous devrions avoir un plan clair de ce que nous allons faire au cas où chaque type de risque se produirait. Nous numérotons les étapes, incluons les contacts des personnes impliquées et responsables, et écrivons chaque étape aussi clairement et en détail que possible.

Nous créons des plans d'action pour toutes les stratégies principales et alternatives que nous envisageons pour nos projets.

Voici un exemple du plan de gestion des risques techniques que nous utilisons chez Mind Studios :

Exemple de plan de gestion des risques

[Fiches Google]

Phase 4 : Surveiller les risques

Quand : En arrière-plan dès le premier jour ; vérifier après chaque sprint de développement

Il n'y a aucune garantie qu'un risque résolu ne se reproduira pas. C'est pourquoi la surveillance des risques doit être intégrée dans la liste des activités des projets logiciels. Les déclencheurs peuvent également être identifiés à partir des commentaires des utilisateurs et des rapports d'assurance qualité. Incluez des activités de surveillance des risques dans chaque sprint de développement ultérieur.

Toutes les activités de gestion des risques doivent être convenues avec le client, en particulier lors de l'externalisation du développement de logiciels. Tous les coûts, probabilités de matérialisation et degrés de gravité doivent être aussi clairs que possible - le client doit savoir pour quoi il paie et qui est responsable de chaque type de risque. Trouver un compromis acceptable avec les attentes du client et son budget .

Risques commerciaux

Risques commerciaux

La conversation sur la gestion des risques ne peut être complète sans mentionner les risques commerciaux. C'est bien quand vous avez fait face à des risques de projet comme ceux mentionnés ci-dessus. Mais imaginez être en plein développement et découvrir que votre concurrent va sortir un produit similaire plus rapidement ou avec une fonctionnalité qui tue. Se retrouver dans cette situation signifie que vous avez oublié de vous occuper des risques de votre entreprise même si vous n'avez pas non plus bien géré les risques de votre projet ?.

Un risque commercial est tout élément extérieur à votre entreprise qui menace les objectifs ou les cibles de votre entreprise. Il peut s'agir d'un changement soudain de la part d'un concurrent, d'un organisme de réglementation ou de l'économie – ou de plusieurs autres choses.

La gestion des risques commerciaux implique tout un tas d'autres étapes et phases qui méritent un autre article. Mais voici quelques conseils généraux :

  1. Gardez un œil sur le marché

Avoir une idée d'entreprise brillante ne garantit pas que quelqu'un d'autre n'a pas une idée similaire. Effectuez régulièrement des études de marché et des analyses afin de connaître l'état du marché et de garder un œil sur vos concurrents potentiels et actifs.

  1. Travaillez sur votre adéquation produit-marché

Assurez-vous que votre produit satisfera la forte demande du marché. Si les nouvelles conditions du marché affectent les performances de votre entreprise, vous devez reconsidérer votre adéquation produit-marché. Soyez agile non seulement dans le développement de produits mais aussi dans le développement commercial. Améliorez, innovez et n'hésitez pas à pivoter.

Atténuation des risques dans le développement de logiciels : conclusions

En général, une bonne gestion des risques vous aide à vous concentrer sur le travail sur votre produit. Avec une bonne gestion des risques, davantage de ressources sont consacrées à la création de meilleures fonctionnalités et de produits de meilleure qualité au lieu de surmonter les conséquences des risques.

Les développeurs qui gèrent les risques peuvent travailler davantage sur ce qu'ils aiment, et les propriétaires d'entreprise qui gèrent les risques obtiennent des clients plus satisfaits, une meilleure réputation et plus de place pour la créativité.

Vous êtes toujours curieux de savoir comment gérer les risques dans votre entreprise en particulier ? Nous pouvons aider!

Si vous êtes préoccupé par les risques de vos projets logiciels, les chefs de projet de Mind Studios se feront un plaisir de partager leur expertise ! Entrer en contact.

Écrit par Tymur Solod et Alexander Vasyliev.