Méthodes agiles, gestion de portefeuille de projets, test... Que ce soit en SSII ou dans une DSI, le management de projet IT tire son épingle du jeu de quelques bonnes pratiques.
La communication permet de faire exister un projet dans l'entreprise
Ne pas communiquer sur un projet peut engendrer des complications importantes une fois sa mise en œuvre amorcée. "Il ne suffit pas de dire qu'un projet existe au moment de son lancement", commente Laurent Dherbecourt, directeur associé Stratégies et Gouvernance des systèmes d'information chez Orga Consultants. "Il est important en effet d'informer les responsables métiers, et les futurs utilisateurs, à chaque grande étape."
La communication est notamment importante dans le cas d'un chantier avec un certain effet tunnel. "Si pendant un mois il ne se passe rien en termes d'information, il se peut que le département pour lequel le projet a été initié imagine que le déploiement a tout simplement été arrêté pour une raison ou une autre", poursuit Laurent Dherbecourt. S'en suit généralement une baisse de confiance de la part des métiers, qui se sentent oubliés, ainsi qu'un sentiment de déception.
Dans certains cas, la situation peut aboutir à des situations assez paradoxales. "Parfois, les directions métiers décident de lancer des projets concurrents, en partant d'une analyse de besoins un peu différente, et en se faisant épauler par un prestataire par exemple", confie Laurent Dherbecourt. Etant lancé au plus proche des utilisateurs finaux, le second déploiement aboutit parfois avant le premier. "Mais, en général, les différents responsables finissent par se rendre compte de ce doublon, ce qui peut conduire à une crise politique entre directions."
Le portefeuille de projets au centre de la démarche de communication
La clé pour éviter de voir un projet passer de la sorte aux oubliettes réside dans la mise en place d'un portefeuille de projets, et d'une structure en charge de sa gestion avec un minimum de communication entre ses membres. Il est recommandé que cette cellule de décideurs métiers / IT se regroupe régulièrement. Son objectif : statuer sur les nouveaux projets, gérer leur priorité, et revoir éventuellement la feuille de route des chantiers en cours afin de prendre en compte des déploiements plus urgents.
Garant de la qualité du dialogue entre la DSI et les métiers, cette cellule rejoint également à un plus haut niveau l'enjeu de la gouvernance du système d'information, et de son alignement sur les besoins vitaux et la stratégie de l'entreprise. "La question de la mise en place d'une telle structure au sein d'un grand groupe international demeure complexe. Elle nécessite d'abord de se mettre d'accord entre les pays sur des indicateurs standardisés de gestion projets, en termes de délais, de suivi de budget... Sans quoi cette équipe ne pourra faire son travail de priorisassion", analyse Laurent Dherbecourt.
Optimiser l'adéquation des livrables aux besoins métiers
Difficile de spécifier l'ensemble des exigences des métiers en amont d'un projet de déploiement. Les projets tunnel réalisés au forfait jusqu'au début des années donnaient naissance à des applications dont seulement 10 à 20% des fonctionnalités étaient utilisées au final. "Les méthodes agiles apportent une réponse à cette problématique, en recommandant d'intégrer le client au projet", explique Philippe Paysan, consultant au sein de la SSII Sopra Group.
En prenant en compte les contraintes de délai et de budget, la philosophie de ces méthodes consiste à se laisser la liberté de faire évoluer le périmètre fonctionnel tout au long de la durée du chantier.
Une vision qui implique pour la maitrise d'oeuvre de découper la feuille de route en versions successives, et pour la maitrise d'ouvrage d'être intégrée à l'équipe de projet, et partie prenante de la définition (ou redéfinition) des objectifs à chaque itération.
"Il existe un grand nombre de méthodes agiles, mais elles partagent toutes quatre principes qui ont été regroupés dans un manfeste", poursuit Philippe Paysan (voir le tableau ci-dessous). Une démarche qui présente comme principal avantage d'aboutir rapidement à une version opérationnelle de l'application en cours de développement, mais aussi de pouvoir s'adapter à une évolution des besoins métiers (y compris en cours de projet).
Les quatres principes du manifeste Agile
1) Humains et interactions plutôt que processus et outils
2) Fonctions logicielles opérationnelles plutôt que documentation
3) Collaboration avec le client plutôt que relation contractuelle
4) Adaptabilité au changement plutôt que planification
Source : Manifesto for Agile Software Development
Une démarche complexe en termes de contractualisation
Reste que la mise en place des méthodes agiles ne va pas sans poser quelques problèmes en matière de gestion contractuelle d'un projet faisant intervenir un ou plusieurs prestataires. Comment en effet dans ce contexte prendre en compte contractuellement des évolutions de périmètre fonctionnel en cours de projet ? La plupart des grands groupes français seraient actuellement en train de plancher sur la question.
"Il semble trop compliqué de fonctionner par avenants successifs, avec les risques juridiques que cela comporte", commente Jacques Vesco, directeur Industrialisation de Sopra. "L'idée serait plutôt de négocier au départ un certain nombre de points fonction à mettre en œuvre, avec à l'intérieur de cette volumétrie des définitions de fonction qui pourraient être amenées à évoluer au fil des développements et des déploiements"
Enfin, les méthodes agiles ne seraient pas très adaptées au projet atteignant une certaine taille. "Il est vrai que parmi les méthodes Agiles, Scrum apportent des pistes pour gérer de gros projets, impliquant plusieurs implantations, et ce notamment en les découpant en sous-parties, avec des notions de synchronisation", détaille Philippe Paysan. "Mais cela entraine aussi des temps de latence, finalement antinomique avec le concept d'agilité."
Des tests tout au long du cycle de développement
Les tests représentent l'un des principaux leviers de la réussite d'un projet de développement d'applications. Pour être efficace, les experts en génie logiciels s'accordent pour dire qu'un processus de test fonctionnel et technique doit être réalisé en parallèle du processus de fabrication d'une application, et non pas seulement en fin du projet comme on pourrait le penser de prime abord.
Une logique qui est également mise en avant par les méthodes agiles, qui prône une écoute du client et des tests tout au long du cycle de développement.
"Cette approche permet de sécuriser les projets, en s'assurant que la qualité attendue par l'utilisateur est bien au rendez-vous", commente François Darphin, responsable de l'offre de test chez Sogeti France. Mais ce dispositif, pour être efficace, doit s'inscrire dans un processus bien défini. En amont, une stratégie de test doit être définie, intégrant des critères de qualité (technique et fonctionnelle).
Ensuite vient l'élaboration du plan de test en tant que tel (avec l'attribution de rôles à chaque intervenant) et l'exécution de ce plan. Enfin, un bilan vient clore le processus, avec à la clé un rapport sur le nombre d'anomalies et des recommandations d'amélioration. Notons que le testing technique peut être mis en œuvre par le biais de prestations offshore, car il n'implique pas d'intervention de la part des futurs utilisateurs.
Une traçabilité du cycle de vie d'un développement
Pour résumé, quels sont les principaux points forts du test dans la gestion de projet IT ? "Les tests assurent d'abord une traçabilité du cycle de vie d'un développement", analyse François Darphin. "Ils impliquent la définition de critères de qualité qui permettent de piloter le projet par les risques, avec la notion d'indicateurs fonctionnels et techniques plus ou moins critiques."
Enfin, la démarche de test structure la vérification du produit, en termes humains (introduisant la définition de rôle au sein de l'équipe de test) et en s'inscrivant plus largement dans le processus de fabrication. "Ce qui contribue à la mise en œuvre d'une démarche qualité de bout en bout, et d'amélioration permanente de l'application.
Au final, les tests permettent de relier les grandes étapes de la gestion de projet de développement. Dans cette logique, l'application est construite par itérations successives. A chaque nouvelle version de l'application, des phases de test valident son adéquation avec les cas d'usage définis par le client en amont.













