Les grands projets logiciels sont très sujets aux retards, voire aux échecs. Pour réussir, une planification minutieuse, une communication efficace, un haut niveau d’expertise technique et une concentration sur la qualité sont nécessaires pour surmonter bon nombre de ces défis.
Le Rapport Standish sur le chaos et le Rapport 2022 sur le coût de la mauvaise qualité du groupe CISQ tous deux confirment que les grands projets logiciels ont une très forte probabilité d’échec. Et que les taux d’échec n’ont pas diminué, malgré Agile.
Échelle
Le travail de connaissance n’est pas évolutif. En fait, il existe des déséconomies sur le travail logiciel ; en d’autres termes, plus elles sont importantes, plus elles deviennent coûteuses. Les chefs de projet logiciels doivent connaître la taille fonctionnelle d'un projet et pouvoir en gérer la portée et le planifier plus efficacement. La mise à l’échelle est possible dans une certaine mesure, mais elle a un coût. Les dirigeants doivent soutenir tous les efforts visant à diviser les grands projets en petits projets indépendants. La ségrégation technique grâce à des architectures et disciplines logicielles appropriées peut également contribuer à faire évoluer des projets de plus grande envergure.
Direction et objectif
Garder toutes les parties concentrées sur le résultat souhaité du projet peut s'avérer difficile, car les activités de chaque contributeur peuvent sembler éloignées de l'objectif global. Cela nécessite une traçabilité claire des exigences par rapport aux objectifs et un excellent leadership.
Complexité
À mesure que les projets logiciels augmentent en taille et en portée, la complexité augmente de façon exponentielle. Les analystes, les concepteurs et les développeurs doivent faire face à un plus grand nombre d'interactions, de modules, de composants et de dépendances. L’utilisation d’outils, de techniques et de discipline peut aider à gérer et minimiser les complexités.
Coordination
Les équipes plus grandes s’accompagnent de plus grands défis de coordination. Les équipes doivent communiquer et collaborer efficacement pour garantir que tout le monde travaille vers les mêmes buts et objectifs. La communication sur ce qui doit être développé et dans quel ordre doit être claire.
Qualité
Le résultat le plus rapide et le moins cher ne s’obtient qu’avec une grande attention portée à la qualité. Maintenir la qualité de tous les artefacts du projet devient de plus en plus difficile à mesure que la taille du projet augmente. Les compromis sur la qualité dans n’importe quel aspect du projet entraîneront l’effondrement d’un château de cartes. L'attention portée à la qualité doit couvrir : la gestion de projet, les exigences, l'architecture, la conception, la documentation, les données, le codage, les tests, la gestion de la configuration et le déploiement.
Exigences changeantes
À mesure que les projets évoluent, les exigences évoluent également. La gestion des exigences changeantes peut constituer un défi de taille, en particulier lorsque plusieurs parties prenantes sont impliquées. Tous les projets logiciels entraînent des changements imprévisibles ; De nombreux projets souffrent également des changements d'exigences intermédiaires qui étaient prévisibles. La détection précoce de ces exigences connaissables réduira la volatilité et les perturbations tout au long du projet.
Temps
La confusion au fil du temps entre les objectifs et le réalisme est une source majeure de problèmes. Les dirigeants doivent se préoccuper de la taille et du temps qu'il faudra pour que le logiciel soit (pour la plupart) correct du premier coup. Les contraintes de temps inappropriées de la part des dirigeants donnent généralement lieu à la nécessité d'une correction/réécriture prolongée des bogues et, dans certains cas, d'une annulation. Connaître la taille fonctionnelle permet aux chefs de projet d'attribuer et de protéger les délais de développement contre une pression irréalisable de la direction.
Types de grands projets logiciels
Il existe de nombreux types de grands projets logiciels : implémentation d'ERP, configuration de packages, migration vers le cloud, nouvelle construction en interne, remplacement d'anciens ou même hybrides de ceux-ci. De plus, le travail technique peut être réparti en interne ou sous-traité à un ou plusieurs fournisseurs.
Quel que soit le type ou même la méthodologie, ScopeMaster peut aider tous ces grands projets logiciels à réduire les risques, car l'analyse qu'il automatise et facilite est toutes des approches génériques, de bonnes pratiques et basées sur des principes pour améliorer le travail logiciel.