MCO et méthodes hybrides

  • Date
  • Auteur
    Pascal Lecatelier

A l'issue d'une phase PROJET, il est nécessaire d'assurer la continuité de service de l'application pendant la phase de RUN, la maintenance en conditions opérationelles (MCO) consiste à maintenir le fonctionnement d'une application dans son contexte fonnctionnel et technique du software au hardware, en prenant en compte:
- Le MCO correctif pour assurer la prise en charge des incidents ou anomalies non identifiées pendant les phases de garantie ou de VSR,
- Le MCO évolutif pour porter des demandes de changement fonctionnelles ou techniques dont le dimensionnement budgétaire ne relève pas d'une organisation projet,
- Le MCO préventif pour anticiper les mises à jour de sécurité ou de montée de version technique de composant applicatif.

Désormais, les méthodes agiles, le déploiement en intégration continue (ou pipeline de livraison), et l'hébergement virtualité (On Premise ou cloud) facilitent la prise en charge de nombreuses évolutions dans un contexte d'amélioration continue, la conséquence étant que les applications demeureront plusieurs années en mode run avant de basculer de nouveau vers un mode projet. Ce nouveau paradigme implique de mettre en place des méthodes de travail rigoureuses accompagnées d'outils collaboratifs permettant de suivre l'activité au quotidien à l'instar d'une phase projet.

A l'issue d'une phase projet réalisée en méthode agile ou en Cycle en V, lors du passage en mode RUN, il est difficile de conserver le dispositf et la mobilisation rencontrée lors du projet. Il devient important pour éviter un MCO piloté par les incidents de disposer du même niveau service que pour une phase projet afin de :
- Garantir un niveau de complétude de la documentation fonctionnelle et technique,
- Assurer un contrôle de qualité sur les livrables de développement,
- Maintenir une couverture des tests fonctionnels, techniques, de performance, et de sécurité et une recette Métier,
- Suivre et partager l'ensemble des événements de vie du MCO dans des outils collaboratifs,
- Poursuivre la création de valeur de l'application (ou du produit).

De nombreuses organisations voient la phase run comme une variable d'ajustement budgétaire, et privilégie l'effort sur les phases projet ayant comme conséquence :
- à minima, un surcoût dû à une faible qualité ou un manque de livrable,
- à maxima, la nécessité de refondre l'application.

La Wagilité pour un MCO maitrisé et créateur de valeur

Depuis quelques années, l’émergence des méthodes hybrides visent à mixer les approches « prédictive » (waterfall) et « agile », et sont utilisées par les équipes projets. L’enquête annuelle du PMI® « Pulse of the profession » réalisée en 2018, révèle que 23 % des projets sont menées en mode Hybride, 47 % en mode prédictif (Waterfall), 23 % en mode Agile(Scrum, Kanban, ...)

L’intégration des principes agiles dans les approches traditionnelles de gestion de projet permet de ne pas systématiquement opposer des modèles, et répondre aux différents enjeux :
- une approche plus agile pour soutenir l'innovation et la maîtrise des coûts,
- une industrialisation des processus de delivery.

L'approche prédictive définit dès le début un planning de réalisation du projet, qui doit être respecté pendant son avancement en réduisant au maximum les changements. La performance de l'application est fixée dès la phase de cadrage, les coûts et les délais sont ensuite pilotés tout au long de la phase de réalisation.
Le mode agile doit pendant le déroulement du projet et à chacun des sprints améliorer la valeur produite tout en respectant les contraintes de délais et des coût fixées. La performance du produit doit être déduite et optimisée au regard de ces contraintes.

Le défi que doit relever aujourd'hui les approches hybrides est de résoudre l’opposition entre les approches agiles et prédictives, afin de répondre aux objectifs demandés par :
- les partisans du mode prédictif, qui souhaitent livrer plus rapidement des demandes de changements de besoin afin de maximiser la valeur produite et intégrer les avantages du mode agile,
- les partisans du mode agile souhaitent structurer leurs phases d’avant-projet, mettre en place des instances de gouvernance, ou raccorder leurs sprints à d'autres jalons projet.

L'approche hybride en mode projet est un défi du présent. Une application ou un produit doit, tout au long de son cycle de vie en mode Projet" et en mode RUN (TMA ou MCO), assurer le même niveau de qualité. Dans ce contexte, les méthodes hybrides s'adaptent parfaitement.


Processus MCO évolutif et méthodes hybrides

Des technologies perturbatrices modifient rapidement les règles du jeu en réduisant les délais de livraison. Les organisations plus matures sont de plus en plus enclines à être lentes à innover, ce qui peut les conduire à un retard de livraison de nouvelles solutions à leurs clients. Ces organisations se retrouvent en concurrence avec de plus petites entreprises capables de construire rapidement des produits adaptés aux besoins des clients. Cette vitesse de changement continue à pousser les grandes organisations à adopter un état d'esprit agile afin de rester compétitives et de conserver leurs parts de marché existantes.

Afin de répondre à ces enjeux concurrentiels, de nombreuses organisations sont passées très rapidement à l'agilité en considérant ces méthodes (Ex: telles Scrum ou Kanban) comme auto suffisantes pour couvrir l'ensemble des phases d'une gestion de projet. Cette accélération les a parfois conduites à renoncer aux bonnes pratiques des méthodes prédictives. Certaines organisations ont été confrontées à des défauts de qualité, et ont vu croître le nombre d'incidents, ainsi qu'une perte de maîtrise de leur processus de delivery. Cela a pour conséquence une perte d'ajout de valeur de leur produit, et par extension un éloignement des enjeux ayant conduit le choix de l'agilité.

Les organisations qui ont gagné en maturité considèrent que les approches agiles ne doivent pas être pratiquées à la place de la gestion d'un projet : elles sont plutôt introduites comme moyen d'accélération des phases d'un projet. Les projets ou phases de run combinent alors des éléments des approches prédictives, itératives et agiles pour adopter une approche hybride.

Nous avons été amenés dans les modes projets ou run que nos clients nous ont confié à prendre en considération le contexte organisationnel et culturel afin de garantir les objectifs et enjeux du projet. Dans le schéma ci-dessus, nous avons mis en place pour certains de nos clients dans le cadre de projets réglementaires ou événementiels un processus de delivery adapté à leur organisation basé sur un schéma itératif reproductible afin de bénéficier du meilleur de l'agilité (Backlog produits, User Stories, Sprint, Standup Daily Meeting, ...) et des méthodes prédictives (Cadrage, Planification des phases, Recette, ...)

L'approche hybride retenue combine les meilleures pratiques Waterfall et Agile, et aide les équipes à répondre avec souplesse aux demandes de changements du client. Elle est particulièrement adaptée dans un contexte où le besoin est fixé et la solution reste à construire, avec des parties prenantes délocalisées.

L’approche Waterfall permet d’assurer la phase de cadrage de planification, de gestion des risques et du respect des échéances opérationnelles du client et du budget.

Durant le processus de développement d'une application, les membres d'une équipe utilisent les méthodes agiles en respectant les délais et les budgets définis par l'approche Waterfall, selon le processus suivant :
- les demandes de changements émanant du Product Owner/Métier (ou Business Partner) sont priorisées et formalisées par le Proxy Product Owner et le Business Analyst sous forme d'Epic et US qui alimentent le Backlog Produit à développer.
- les US (User stories) présentes dans le Backlog sont ensuite regroupées dans une itération (ou sprint) où elles sont réalisées au regard de leur priorisation par l’équipe de développement, et testées par le Business Analyst avant d'être livrées sur l’environnement de recette Métier.
- le product Owner, le Métier et le Delivery Manager testent les évolutions sur l’environnement de recette Métier puis procèdent à la validation pour le déploiement en préproduction sur lequel est exécutée une VABF (validation de bon fonctionnement).
- le product Owner et le Delivery Manager donnent leur accord pour le déploiement de la version en production où une VABF est effectuée.

Outils et méthodes hybrides

Afin de gagner en efficacité et éviter les effets indésirables des méthodes prédictives comme l'effet tunnel et un trop-plein de comitologie, l’utilisation d'outils collaboratifs du type ALM (Application Lifecycle Management) permet de suivre la production et l'avancement du projet ou d'une phase run. Ces outils permettent une plus grande réactivité et assurent :
- la traçabilité de tous les événements et demandes de l'expression du besoin à la mise en service (suggestions, demandes de changement, Epic, US/TS, tâches, anomalies, questions ...)
- la planification des versions et des différentes phases : conception, développement, test, déploiement et mise en service.
- le suivi du consommé et du reste à faire (unitaire, par phase, par version)
- la mesure de la performance (Ex: définition des abaques par phase)
- le suivi des risques et des problèmes

Le schéma de MCD Design to Delivery pour Jira ci-dessus présente l'US (User Stories) comme l'élément central du pilotage du processus de delivery mise en place chez notre client. Le cycle de vie est assuré par les outils Jira, Confluence et Git à l'aide d'un workflow adapté à la méthode hybride (Delivery process en cycle Hybride) et utilisé par chacune des parties prenantes du projet et de la phase de run :
- pour la phase de cadrage assurant le lien entre la demande de changement et l'US,
- pour la planification en définissant les jalons de chacune des phases de l'US, et la version associée,
- pour la conception de l'US assurant le lien et sa formalisation détaillée,
- pour le développement assurant le lien entre l'US et le sprint, ainsi que le code source correspondant,
- pour la recette assurant le lien entre l'US, les cas de test, et les anomalies,
- Pour le déploiement, assurant le suivi des phases de préproduction et de production.

Conclusion

Les méthodes hybrides sont adaptées à une situation dans laquelle un client n'est pas satisfait du périmètre et souhaite maîtriser à la fois son budget et la qualité de son projet. Ces incertitudes sont typiques de l'agilité et dans ce cas :
- la planification, la spécification des exigences et la conception d'une application peuvent être effectuées en Waterfall (méthode prédictive),
- le développement et les tests de logiciels sont portés en approche Agile.

Notre offre

Nous vous accompagnons dans la mise en œuvre de solutions Hybrides pour:
- la sensibilisation de vos métiers et décideurs dans l'opportunité d'adopter des méthodes hybrides,
- la mise en place d'outils collaboratifs autour d'ALM (application lifecycle management) Jira (Atlassian) ou Azure Devops (Microsoft)
- le pilotage de projet ou MCO en mode hybride,
- la phase de conception des exigences fonctionnelles et techniques,
- le développement de vos applications.

Partager cette page: