IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

268 % de taux d'échec en plus pour les projets logiciels agiles, selon une recherche qui fait suite aux échecs catastrophiques de logiciels
De plus en plus présents dans l'esprit du public

Le , par Jade Emy

42PARTAGES

6  0 
Une étude menée auprès de 600 ingénieurs logiciels britanniques et américains révèle que les projets qui adoptent les pratiques du Manifeste Agile ont 268 % plus de chances d'échouer que ceux qui font le contraire. L'étude démontre que les taux d'échec des projets de logiciels agiles peuvent être divisés par 6,5 en utilisant une nouvelle méthodologie d'ingénierie d'impact. L'adoption de l'ingénierie d'impact pourrait permettre d'économiser 115 milliards de dollars américains par an en dépenses de R&D inutiles aux États-Unis et les contribuables britanniques pourraient économiser environ 7 milliards de livres sterling par an sur les projets gouvernementaux de changement numérique qui n'aboutissent pas.

Le développement agile de logiciels est un état d'esprit qui découle des valeurs convenues par l'Agile Alliance, un groupe de 17 praticiens du logiciel, en 2001. Comme l'indique leur Manifeste pour le développement agile de logiciels, les praticiens accordent de l'importance aux valeurs suivantes : les individus et les interactions plutôt que les processus et les outils, un logiciel fonctionnel plutôt qu'une documentation exhaustive, la collaboration avec les clients plutôt que la négociation de contrats, la réaction au changement plutôt que le suivi d'un plan.

Le Manifeste Agile existe depuis plus de 21 ans maintenant, mais la recherche empirique sur l'impact réel de ses valeurs sur l'industrie reste lacunaire, malgré une étude récente montrant que 81 % des décideurs au Royaume-Uni et 89 % aux États-Unis sont préoccupés par le respect des délais de livraison des projets de logiciels dans leur organisation.

Une nouvelle étude menée pour un nouveau livre, Impact Engineering, a montré que 65 % des projets de logiciels adoptant les pratiques d'ingénierie des exigences Agile ne parviennent pas à être livrés dans les délais et dans les limites du budget, avec un niveau de qualité élevé. En revanche, les projets qui adoptent une nouvelle approche d'ingénierie d'impact décrite dans le nouveau livre n'échouent que dans 10 % des cas.


Le taux d'échec des projets logiciels agiles est supérieur de 268 %

L'étude, menée par Junade Ali PhD CEng FIET et J.L. Partners, a vu la participation de 600 ingénieurs en logiciel (250 au Royaume-Uni et 350 aux États-Unis). Le travail sur le terrain s'est déroulé du 3 au 7 mai 2024. J.L. Partners est membre du British Polling Council et respecte ses règles.

Selon les auteurs, "la signification statistique des données de l'étude montrant que les projets utilisant les pratiques de l'ingénierie d'impact sont plus performants que tous les autres est si forte que la probabilité que cette conclusion soit incorrecte équivaut à lancer six fois consécutivement le chiffre six sur un dé à six faces, dès la première tentative" (les probabilités sont très faibles).

Trois des quatre pratiques énumérées dans le Manifeste Agile sont "le logiciel de travail plutôt qu'une documentation exhaustive", "la collaboration avec le client plutôt que la négociation d'un contrat" et "la réponse au changement plutôt que le suivi d'un plan". Toutefois, la nouvelle étude a révélé que les projets qui disposaient d'un cahier des charges ou d'exigences documentées avant le début du développement avaient 50 % de chances de plus de réussir que ceux qui n'en disposaient pas, que les projets qui avaient des exigences claires avant le début du développement avaient 97 % de chances de plus de réussir et que les projets qui ne nécessitaient pas de modifications importantes des exigences à la fin du processus de développement avaient 7 % de chances de plus de réussir.

D'autres pratiques ont également contribué à la réussite des projets. Les projets dans lesquels l'ingénieur logiciel a déclaré se sentir psychologiquement en sécurité pour discuter des problèmes et les résoudre rapidement lorsqu'ils apparaissent avaient 87 % plus de chances de réussir que ceux qui n'en avaient pas. Les projets dont les exigences se fondaient précisément sur un problème réel avaient 54 % plus de chances de réussir que les autres.

Il est intéressant de noter que l'étude n'a pas révélé de différence statistiquement significative entre la réussite des personnes travaillant sur un seul projet et celles travaillant sur plusieurs projets, bien que la réduction des travaux en cours soit un élément clé de la méthodologie de développement de logiciels Lean. Toutefois, des recherches antérieures menées par le Dr Ali ont montré que 83 % des ingénieurs en informatique déclarent souffrir d'épuisement professionnel, la "charge de travail élevée" en étant la principale raison.


Cette étude intervient alors que les défaillances logicielles catastrophiques sont de plus en plus présentes dans l'esprit du public. Dans son précédent ouvrage intitulé "How to Protect Yourself from Killer Computers", le Dr Ali a étudié de nombreux cas de logiciels mortels dont les causes techniques ont été attribuées à des problèmes de conception logicielle, notamment des avions effectuant des "plongées mortelles", des accidents de voiture mortels et des surdoses de radiations mortelles dans les hôpitaux.

En effet, le système informatique Horizon était l'un des premiers projets à grande échelle à utiliser une méthodologie Agile, à savoir le développement rapide d'applications, qui a été condamnée par les ingénieurs de Fujitsu qui ont témoigné dans l'enquête publique (Terence Austin et le dénonciateur David McDonnell) comme étant à l'origine des problèmes techniques dus à l'absence d'un processus solide d'ingénierie des exigences.

Charles Cipione, l'expert technique qui a témoigné dans le cadre de l'enquête, a résumé la situation en disant que "si vous n'avez pas une bonne conception, cela ne fonctionnera pas correctement". L'incapacité à résoudre ces problèmes et les tentatives de dissimulation ont conduit au scandale des Postes, décrit comme la plus grande erreur judiciaire de l'histoire britannique, liée à de multiples suicides de personnes emprisonnées à tort, dont une femme enceinte.

L'étude a également révélé, de manière inquiétante, que les ingénieurs en logiciel du Royaume-Uni avaient 13 % de chances en moins de se sentir capables de discuter et de résoudre les problèmes que ceux des États-Unis, ce qui représente la plus grande différence de toutes les pratiques d'ingénierie entre les deux pays. Cette constatation fait suite à une étude réalisée en novembre 2023 par Engprax, selon laquelle 75 % des ingénieurs en informatique au Royaume-Uni ont subi des représailles après avoir signalé des actes répréhensibles.

Junade Ali, auteur de l'ouvrage Impact Engineering, a déclaré :


Avec 65 % des projets adoptant des pratiques agiles qui ne sont pas livrés à temps, il est temps de remettre en question le culte de l'Agile. Nos recherches ont montré que ce qui compte lorsqu'il s'agit de livrer un logiciel de haute qualité dans les délais et dans les limites du budget, c'est un processus solide d'ingénierie des exigences et la sécurité psychologique nécessaire pour discuter et résoudre les problèmes lorsqu'ils apparaissent, tout en prenant des mesures pour prévenir l'épuisement des développeurs. C'est un élément fondamental de la philosophie de l'ingénierie d'impact.

« Impact Engineering » est désormais disponible sur Amazon en format Kindle eBook et en livre de poche. Ce roman d'entreprise est basé sur des études de cas réels de transformations personnelles et organisationnelles utilisant la méthodologie de l'ingénierie d'impact et un cadre psychologique nouvellement développé pour réaliser des transformations réussies, en plus d'un chapitre décrivant la base scientifique sous-jacente de la méthodologie.
Source : Engprax

Et vous ?

Pensez-vous que cette étude est crédible ou pertinente ?
Quel est votre avis sur le sujet ?

Voir aussi :

Les développeurs devraient abandonner les méthodes agiles selon Ron Jeffries, l'un des signataires du Manifeste Agile

L'armée américaine annonce une nouvelle politique visant à favoriser l'adoption de pratiques de développement logiciel agiles

La méthode Scrum est-elle une méthode agile efficace ou un cancer pour les développeurs ? Les propos d'un professionnel de l'informatique divisent la communauté

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de d_d_v
Membre éprouvé https://www.developpez.com
Le 06/06/2024 à 9:18
Agile ou pas, ce qu'il faut à un moment, ce sont des spécifications écrites quelque part. J'ai l'impression que la méthode agile est un prétexte pour na jamais écrire de documentation technique. Je ne comprend même pas comment on peut penser que ça peut fonctionner.
Comment vous pouvez savoir si tel comportement dans le logiciel est normal ou pas s'il n'est documenté nulle part. C'est encore pire quand le turnover est important: ceux qui détenaient la connaissance se sont barrés et les nouveaux arrivants se débrouillent comme ils peuvent.
6  1 
Avatar de pyros
Membre expérimenté https://www.developpez.com
Le 06/06/2024 à 17:12
J'aimerai connaitre, parmis la part des projets "Agile" ayant échoué, quels sont les projets vraiment Agile et quels sont les projets ou un caoch agile grassement payé s'est pointé en déroulant son template et en collant des réunions à tour de bras parce que c'est marqué dans le Scrum Guide...

On s'est mis à faire de l'agile car les méthodes de gestion projet classique type Waterfall ou cycle en V ne s'adaptaient pas aux projets portant sur des techno emergente ou des marché inconnue. Il y a beaucoup de projet où on ne sait juste pas ce que le logiciel est censé faire et où même le client n'es sais foutre rien, (quoi qu'il puisse en penser). C'est là qu'Agile a un intéret. Il permet de piloter un système cahotique par itération successive.

Pour un system connue, contrain et un marché stable comme l'aéronautique, le médical, etc... Agile a beaucoup moins d'intéret. Il faut arréter de vouloir trouver une formule magique qui marche partout.
4  0 
Avatar de Pyramidev
Expert éminent https://www.developpez.com
Le 06/06/2024 à 1:28
Dans cette publicité pour le livre Impact Engineering, je lis :

Today, new research conducted for a new book, Impact Engineering, has shown that 65% software projects adopting Agile requirements engineering practices fail to be delivered on time and within budget, to a high standard of quality. By contrast, projects adopting a new Impact Engineering approach detailed in a new book released today only failed 10% of the time.
Donc, la définition de l'échec, c'est que le projet soit livré après une échéance fixée à l'avance ou dépasse un budget fixé à l'avance ?
Pour fixer de manière réaliste une échéance et un budget à l'avance, on y arrive moins difficilement quand on a une spécification ? Merci Captain Obvious !

Parmi les projets dans lesquels j'ai travaillé, dans le plus agile d'entre eux, les clients payaient un abonnement pour le logiciel et ce dernier avait régulièrement de nouvelles fonctionnalités. Il y avait assez peu de planification. Le choix des fonctionnalités à ajouter dépendait surtout des besoins du moment des clients les plus importants. Dans ce contexte, mesurer le succès ou l'échec par le respect d'une estimation de délai n'avait souvent pas de sens, car le délai était souvent ASAP.

Les succès, c'est quand des clients sont contents et restent, ce qui permet d'attirer de nouveaux clients. Les échecs, c'est quand des clients partent.
3  0 
Avatar de Pyramidev
Expert éminent https://www.developpez.com
Le 06/06/2024 à 13:10
Citation Envoyé par d_d_v Voir le message
Agile ou pas, ce qu'il faut à un moment, ce sont des spécifications écrites quelque part. J'ai l'impression que la méthode agile est un prétexte pour na jamais écrire de documentation technique. Je ne comprend même pas comment on peut penser que ça peut fonctionner.
Comment vous pouvez savoir si tel comportement dans le logiciel est normal ou pas s'il n'est documenté nulle part.
Il faut de la documentation technique, mais pas toujours au point de détailler la totalité du fonctionnel comme dans une spécification.

C'est possible, mais il y a plein de conditions à réunir :
• Il existe des cas où les détails de certains algorithmes ne sont pas communiqués au client, donc n'ont pas besoin d'être dans la documentation utilisateur.
• Il y a aussi des cas où les personnes de l'entreprise qui ont la connaissance métier savent lire du code. Ça arrive plus souvent quand l'entreprise est petite.
• À partir d'un certain niveau de qualité, le code fait partie de la doc pour les personnes qui savent lire du code. Ce niveau de qualité est rarement atteint, mais ça arrive.
• Comment savoir si un comportement d'un logiciel est normal ou accidentel ? Par les tests automatisés. Si un comportement est présent dans un test automatisé, normalement, c'est qu'il est intentionnel. Les contre-exemples sont les characterization tests. Mais, si un test est un characterization test, il faut qu'il soit décrit comme tel.

En résumé, ne pas dupliquer l'intégralité du fonctionnement du logiciel dans des spécifications, ça peut très bien marcher avec une petite équipe de développeurs d'élite pour certains projets.

Un autre point avec lequel il faut faire attention, c'est que la majorité des développeurs ne savent pas maintenir à jour de la documentation, surtout si cette dernière est volumineuse. Ils galèrent déjà beaucoup à maintenir à jour une petite documentation. Dans un projet typique, il y a d'un côté du code qui est à jour mais pas vraiment compréhensible, et de l'autre une documentation qui n'est pas à jour.
Cependant, quand des personnes qui ne développent pas sont spécialisées sur l'écriture de spécifications, dans mon expérience, elles arrivent mieux à maintenir à jour ces spécifications, étant donné qu'elles ne sont pas occupées avec le code.

Citation Envoyé par d_d_v Voir le message
C'est encore pire quand le turnover est important: ceux qui détenaient la connaissance se sont barrés et les nouveaux arrivants se débrouillent comme ils peuvent.
Un turnover élevé est toujours néfaste pour la productivité.
Quand un système n'est pas compréhensible sans la connaissance tribale, effectivement, les dégâts sont encore plus élevés.
1  0 
Avatar de RenarddeFeu
Membre habitué https://www.developpez.com
Le 06/06/2024 à 2:00
La méthode Agile ça marche, modulo que le développement soit fait en interne, et que l'équipe en charge du projet soit suffisamment stable, mature et redondante afin d'anticiper les éventuels turn-over.

Mets un prestataire externe dans l'équation, et tout tombe à l'eau.
2  2 
Avatar de smarties
Expert confirmé https://www.developpez.com
Le 06/06/2024 à 10:17
Avec les méthodologies Agile/SCRUM, j'ai l'impression de passer plus de temps en réunion mais un projet doit surtout partir sur des bases saines :
- dans quel environnement l'application doit fonctionner afin de faire le bon choix au niveau architecture et technologies (serveurs/client lourd/client léger, partie sécurité, dimensionnement... on a pas systématiquement besoin d'AWS/GCP/...)
- si applicable avoir une idée des améliorations/usages futurs qui peuvent impacter le point 1
- les fonctionnalités en mettant de l'importance sur les données d'entrée nécessaires et ce qui doit être produit par le système

Après une équipe de développement est autonome quand :
- les priorités sont identifiées
- les fonctionnalités sont identifiées avec les bonnes informations dedans. Le design de l'interface graphique ne devrait pas être imposé par le client mais plutôt partir de suggestions.
- il y a des pipelines de tests comme ça les corrections se font dans la foulée
0  0 
Avatar de 23JFK
Membre expert https://www.developpez.com
Le 07/06/2024 à 16:13
Ô surprise... Suffit de lire le manifeste pour deviner que permettre d'ajouter sans fin des idées fantaisistes à un projet au budget inextensible est le meilleur moyen de tuer un projet.
0  0 
Avatar de Ryu2000
Membre extrêmement actif https://www.developpez.com
Le 05/06/2024 à 17:59
Citation Envoyé par Jade Emy Voir le message
Trois des quatre pratiques énumérées dans le Manifeste Agile sont "le logiciel de travail plutôt qu'une documentation exhaustive", "la collaboration avec le client plutôt que la négociation d'un contrat" et "la réponse au changement plutôt que le suivi d'un plan". Toutefois, la nouvelle étude a révélé que les projets qui disposaient d'un cahier des charges ou d'exigences documentées avant le début du développement avaient 50 % de chances de plus de réussir que ceux qui n'en disposaient pas, que les projets qui avaient des exigences claires avant le début du développement avaient 97 % de chances de plus de réussir et que les projets qui ne nécessitaient pas de modifications importantes des exigences à la fin du processus de développement avaient 7 % de chances de plus de réussir.
Ouais ben c'est facile quand t'as un bon cahier des charges et des exigences claires dès le début…
Ça ne doit pas être le cas de la majorité des projets de logiciels.

Mon job actuel consiste à ajouter des fonctionnalités dans des logiciels existants, donc c'est forcément de la gestion de projet agile et du dialogue avec le client.
Il y a un client qui rédige un ticket Redmine et il faut traiter sa demande.

Ça fonctionne comment sans méthode agile ?
Ils utilisent le Cycle en V ?
Ils finissent la conception à 100% avant d'écrire la première ligne de code ?

Et à la fin le client dit vraiment "vous m'avez livré exactement ce que j'ai demandé il y a 3 ans, ça répond parfaitement à mes besoins actuels" ?
1  2