10 raisons pour lesquelles tant de projets logiciels échouent
-L’initiative DMI (Digital Media Initiative) de la BBC a échoué en raison d’un défaut de gouvernance et de retards de livraison. C’était un projet sur lequel tout le monde avait les yeux rivés, car il devait permettre de numériser la production de la BBC.
-L’échec du Virtual Case File (VCF) du FBI s’explique par un certain nombre de raisons, mais les attentes irréalistes en sont l’une des principales. Le projet a gaspillé environ 104,5 millions de dollars de l’argent des contribuables.
-Le nouveau système de la Fed américaine s’est déchaîné, la première nuit où il a été mis en service, et a fourni 28 milliards de dollars d’intérêts aux mauvaises banques membres.
Comment des projets logiciels bien planifiés peuvent-ils échouer ? Étaient-ils vraiment bien planifiés ? Enfin, c’est ce qu’ils pensaient. Malheureusement, de nombreux projets échouent ; en fait, c’est devenu un incident si courant que les gens en parlent à peine, en discutent, à l’exception des personnes qui ont dû subir l’échec. En 2013, Innotas, une société de gestion de projet, a révélé qu’environ 50 % des entreprises qu’elle a étudiées ont connu des échecs en matière de gestion de projet. Quatre ans plus tard, l’histoire n’est pas très différente. Quelles sont les causes de l’échec des projets logiciels ? Nous avons exploré certaines des raisons basées sur nos observations, qu’en pensez-vous ?
1. Manque d’harmonisation entre les objectifs commerciaux et les résultats du projet
On peut dire que les priorités sont différentes selon les entreprises. Pour certaines entreprises, l’accent est mis sur la réalisation des objectifs commerciaux, tandis que pour d’autres, il s’agit de livrer le projet dans les délais et le budget impartis. C’est le voyage en voiture où ils prennent le mauvais chemin et se perdent. Si les objectifs commerciaux et les résultats du projet sont alignés les uns sur les autres, il y a de fortes chances que le logiciel n’échoue pas. Mais faire cela n’est pas du tout une tâche facile.
2. Ne pas être capable de comprendre ce qu’il faut prioriser
L’incapacité à établir des priorités parmi les projets importants. Le responsable de la gestion du projet s’assoit avec les parties prenantes et d’autres responsables de l’entreprise pour décider des priorités des projets. Ils vont ensuite allouer les ressources et le personnel, et prendre en compte le budget et le temps. Parfois, les choses se passent mal lors de l’alignement des objectifs de l’entreprise sur les résultats du projet, et cela peut aussi être dû au fait que les priorités ne sont pas correctes.
3. Exigences vagues
L’une des premières étapes de tout cycle de développement de logiciels consiste à comprendre les besoins du client. Si les exigences ne sont pas clairement définies et approuvées par le client, il se peut que vous ne soyez pas tous les deux dans la même situation.
même page à la fin du cycle de développement.
4. Les contraintes de temps
Les contraintes de temps empêchent souvent les développeurs d’obtenir la clarté du projet de la part du client, ce qui pourrait entraîner beaucoup de remaniement et une plus grande allocation de ressources, tout en reflétant une publicité négative pour l’entreprise. Ainsi, juste avant de s’asseoir pour développer un projet, il est important de procéder à une analyse des besoins et de s’assurer que tout le monde, y compris le client, comprend bien à quoi ressemblera le produit final.
5. Mauvaise estimation du calendrier
Les développeurs sont des êtres humains et il y a une limite au nombre d’heures qu’ils peuvent travailler dans une journée. Planifiez le temps de manière logique afin que le projet soit achevé comme prévu et que le développeur soit encore en vie pour entreprendre un autre projet.
6. Pas prêt à repousser l’échéance
Les chefs de projet et les parties prenantes doivent faire preuve de considération lorsqu’ils mettent l’équipe de développeurs au travail. Oui, une journée de travail supplémentaire augmente les dépenses, mais cela en vaut la peine à long terme.
7. Donner un calendrier étrange et irréaliste ne fera que retarder le projet.
Contrairement à ce que pensent les parties prenantes et les chefs de projet, fixer des délais irréalistes ne peut qu’entraîner de lourdes pertes pour l’entreprise. Planifiez toujours le projet de manière à ce que les attentes soient raisonnables, en fonction de la quantité de travail.
8. Le manque de communication
Une mauvaise communication est la raison de nombreux échecs dans la vie. En fait, elle est si importante pour toutes les personnes associées à un projet que suivre des cours professionnels sur les compétences interpersonnelles sera certainement un plus. La communication et les messages doivent être partagés correctement, car des points de vue et des opinions contradictoires pourraient tuer un projet avant même qu’il ne soit prêt à voler. Le chef de projet est chargé de servir de médiateur entre toutes les personnes associées à l’équipe. Veillez à ce que les messages atteignent tout le monde, en particulier lorsqu’il s’agit du résultat du projet.
9. Ne pas trouver les bonnes personnes pour le travail
Une dotation en personnel inappropriée est une autre raison de l’échec des projets. Vous avez une équipe de bons développeurs. Mais pensez-vous qu’ils sont le genre d’équipe « taille unique » ? Peuvent-ils gérer tout type de projet qui leur est confié ? Vous devrez peut-être répartir les personnes en fonction de leurs compétences. Les bonnes personnes, même si elles sont coûteuses, s’avéreront bénéfiques. Après tout, la qualité du projet ne doit pas en souffrir. Les développeurs inefficaces ou médiocres retarderont le projet alors qu’un développeur 10x gardera les rênes du projet dans sa main.
10. Mauvais tests
Les tests du logiciel échouent. Une fois que tout est fait, vous vous rendez compte qu’il y a un problème de codage qui doit encore être réglé. Si vous n’avez pas de jalons régissant la phase de développement du code, le projet peut échouer. Vous pouvez lancer des tests d’automatisation grâce auxquels le testeur écrira des scripts et utilisera un autre logiciel pour tester les différentes fonctionnalités de l’application/du logiciel. Les différents types de tests de logiciels sont
- Tests unitaires
- Tests d’intégration
- Tests fonctionnels
- Test du système
- Tests de stress
- Test de performance
- Test d’utilisabilité
- Test d’acceptation
- Test de régression
- Test bêta
Cela prend du temps, mais cela en vaut vraiment la peine. Les tests vous permettent de comprendre la qualité du projet ; il s’agit d’une sorte de processus de vérification et de validation.
Conclusion
Il est important de comprendre d’abord le projet, puis d’allouer les ressources et la main-d’œuvre. Donnez-leur suffisamment de temps pour travailler sur le projet et les ressources dont ils ont besoin. Suivez les conseils mentionnés ci-dessus et vous avez toutes les chances de trouver le bon filon.
Un dernier mot : assurez-vous que les exigences du système sont définies et fixées de manière appropriée. Vous ne pouvez pas vous permettre d’avoir des problèmes avec le système une fois que le logiciel est prêt à fonctionner.
Pour en savoir plus, consultez le site ….
- 10 raisons pour lesquelles les projets logiciels échouent
- Les raisons les plus courantes de l’échec des projets logiciels
Flickr.com/ Patrizio Cuscito
A propos de l’auteur : Reema travaille comme Thought Leader chez PHPBabu.