Gestion des risques d’un projet de développement logiciel : comment réconcilier processus et produit fini ?
On le sait, le progrès technique a été considérable dans le domaine IT ces dernières années.
Le secteur du développement logiciel semble ainsi offrir des carrières stables et lucratives. Dans les faits pourtant, les CIO (Chief Information Officers, ou responsables des technologies de l’information et de la communication en entreprise) n’occupent en moyenne un poste que pendant deux ans et demi. En cause : la multitude de projets avortés. Le Capability Maturity Model (CMM), une approche interdisciplinaire d’ingénierie des systèmes couvrant les compétences et les processus techniques et managériaux, pourrait bien aider les entreprises à résoudre ce dilemme.
Trois causes peuvent expliquer l’échec des projets IT en entreprise : un planning inadapté, une faible appréhension des processus de développement et un manque de clarté au niveau de l’encadrement managérial. Le renommé Standish Group a livré dans son rapport de recherche de 2009 des chiffres alarmants en la matière. Pour les raisons citées, 3,1 % des projets ne parviendraient ainsi pas à leur terme, tandis que 52,7 % d’entre eux coûtent 189 % du budget prévisionnel initial. Les entreprises ne parviennent en effet pas toujours à connecter processus et produit. Or, il est primordial que la procédure inhérente au projet soit respectée pour garantir la satisfaction des clients et des utilisateurs. Oui, mais comment ?
Cinq niveaux pour évaluer les processus
Le Software Engineering Institude de Pittsburgh aux Etats-Unis fournit une approche, le Capability Maturity Model (CMM), qui entend fournir une solution potentielle à ce problème. Ce processus formel classe les entreprises IT selon l’efficacité et la performance de leur gestion de projet. Il utilise à cette fin une structure sur cinq niveaux pour établir les priorités des actions d’amélioration, en vue d’accroître la maturité du processus logiciel : niveau initial, reproductible, défini, maîtrisé et enfin d’optimisation. Pour atteindre chaque palier, la procédure peut s’avérer coûteuse et chronophage, mais elle fournit néanmoins une roadmap adaptée aux entreprises qui souhaitent mettre en place des pratiques efficaces et progresser logiquement en vue d’améliorer leur processus de développement logiciel.
Cette approche permet en effet d’établir un lien entre un résultat non désiré – qu’il s’agisse de l’abandon du projet, d’un coût final trop élevé pour l’entreprise ou d’une insatisfaction du consommateur- et la meilleure manière de l’anticiper et de l’éviter.
Maturité, risques et performance : trois facteurs de succès (ou d’échec) à la loupe
Maturité, risques et performance : ces trois facteurs de succès (ou d’échec potentiel) ont chacun leurs particularités.
● La maturité d’un processus logiciel désigne dans quelle mesure un processus est explicitement défini, géré, mesuré, contrôle et efficace. Elle suppose un potentiel de croissance des capacités et constitue un indicateur de richesse du processus logiciel de l’organisation et de la cohérence avec laquelle il est appliqué à l’occasion des divers projets menés par celle-ci, en adéquation avec les exigences des clients et des utilisateurs finaux.
● Les risques liés au développement logiciel peuvent être compensés par la capacité du management à identifier, évaluer et réduire les facteurs en amont, et ainsi améliorer les chances de succès au moment de la livraison du produit. De tels risques peuvent être classés en cinq catégories : la nouveauté technologique, la taille de l’application, l’expertise, la complexité du projet et le support structurel.
● La performance du projet se résume à des aspects aussi bien techniques qu’organisationnels : efficacité, rendement, contrôle, communication, connaissances.
Ces défis font partie du quotidien des experts IT. Mais quelle est la corrélation entre des trois facteurs et, surtout, l’effet modérateur du risque de développement sur le lien entre maturité du processus et performance du projet ?
Des recherches ont ainsi été menées récemment sur plus de cinq cents entreprises recourant au CMM, de tailles et de profils variés, selon les cinq niveaux : initial, reproductible, défini, maîtrisé et d’optimisation. Il en sort que la performance augmente avec des niveaux de maturité du processus logiciel plus élevés. Les conclusions révèlent également que le risque de développement peut remettre en cause la performance, et que le lien entre maturité et performance du processus logiciel est modéré par le risque en question. Un processus rigoureux peut être adopté pour produire le meilleur résultat possible : ce dernier repose toutefois, avant tout, sur un équilibre entre maturité, risques et performance.
En somme, investir dans une procédure plus ou moins coûteuse à court terme permettrait de récolter des bénéfices financiers à long terme.
Il faut généralement 18 à 30 mois pour monter dans l’échelle du CMM : les exemples de succès, tels que Bull et Hewlett Packard, sont suffisamment nombreux pour prouver que le jeu en vaut la chandelle. Chacun des cinq niveaux mérite cependant une attention particulière, et les entreprises doivent prendre conscience que tout facteur de risque peut être réduit par un management adapté.
Ce texte s’inspire de l’article “L’impact de la maturité des processus logiciels sur la performance d’un projet logiciel : l’impact du risque inhérent aux projets de développement logiciel”, publié par Bouchaib Bahli et Dany Di Tullio dans “Systèmes d’information et Management” (18, 3 – 2013).
Bouchaib Bahli est professeur de technologies de l’information (IT) à Rennes School of Business. Il s’intéresse tout particulièrement à l’externalisation IT, à la gestion du risque des projets de développement logiciel et à la modélisation IT. Il a publié de nombreux articles dans Information and Management, Journal of Information Technology, OMEGA, Communications of AIS et Requirement Engineering Journal.