Pourquoi sommes-nous si mauvais en génie logiciel?

2 minute(s) de lecture

BD humoristique
Image de XKCD, sous licence Creative Commons 2.5 License

Il est vrai que les ingénieurs se veulent rassurant lorsqu’ils créent de nouveaux outils. Ils y ont réfléchi, ils l’ont développé, et vous prêcherons que leur innovation est parfaite. En revanche, dans le monde du génie logiciel, peu de personne se veulent aussi confiante, mais pourquoi ?

Cet article analyse les méthodes de travail et les faits nous amenant à de telle incertitudes, en voici quelques extraits traduits :

Nous sommes décents dans la création de logiciels lorsque les conséquences d’une défaillance sont sans importance. Le logiciel moyen est suffisamment performant pour fonctionner. Pourtant, la plupart des logiciels sont suffisamment mauvais pour que les bugs ne nous surprennent pas. Ce n'est pas un hasard. De nombreuses pratiques courantes en génie logiciel proviennent d'environnements où les échecs peuvent être réessayés et les nouvelles fonctionnalités sont lucratives. Et l'échec est vraiment bon marché. Si un service en ligne fourni par les 10 premières entreprises publiques par capitalisation boursière était complètement hors ligne pendant deux heures, il serait oublié dans la semaine. Cette prémisse se retrouve dans des mantras tels que « Bougez vite et cassez les choses » et « Lancez et itérez »

Qui n’a jamais injurié en rencontrant un bugs sur son ordinateur alors qu’il était en plein travail (non sauvegardé au préalable évidement) ?
Un problème sur votre logiciel de traitement de texte favori à un petit impact, mais quand est-il des logiciels qui se mettent aux services des élections par exemple ? Rappelez-vous en février 2020, nous sommes dans le cadre des primaires démocrates aux États-Unis, une application a été spécialement conçu pour récupérer ce scrutin. Celle-ci est donc une application critique est a fait un buzz énorme. D'abord soupçonné d’être victime de cyberattaque pour expliquer son disfonctionnement, les démocrates avoueront que ce n’est pas le cas et que l’application rencontre des problèmes techniques. Pour résumer en un mot la situation, « Chaotique ». Mais pourquoi agissons-nous comme cela ?

L'article nous répond :

J'appellerai cela le « modèle économique de site Web » appliqué au développement logiciel : lorsque les avantages de la mise en œuvre sont élevés et que le coût des tentatives est faible, la direction incite à optimiser pour une vitesse de fonctionnalité élevée à court terme. Cela se reflète dans les pratiques modernes de gestion de projet et leur mise en œuvre.

Cet article va plus loin dans l’analyse, c'est très intéressant, je vous laisse en prendre connaissance juste ici : bitlog.com de jakevoytko