Moxie Marlinspike est cryptographe américain, chercheur en sécurité informatique et entrepreneur. Il est l'un des cocréateurs de l'application de messagerie chiffrée Signal et le cofondateur de la Fondation Signal. Lors de son passage à la conférence Black Hat 2024, Marlinspike a fait un bilan peu élogieux du développement logiciel moderne. Marlinspike a déclaré que le développement logiciel moderne n'encourage ni ne favorise l'innovation et est confronté à une complexité inutile. Selon le chercheur en sécurité, les bonnes pratiques de développement ont été progressivement perdues au cours des vingt dernières années.
Marlinspike pense savoir exactement ce qui est à blâmer : le développement Agile. « Nous avons passé les vingt dernières années à intégrer des personnes dans des logiciels en les plaçant dans des couches d'abstraction de boîtes noires, puis dans des organisations composées de couches d'abstraction de boîtes noires », a déclaré Marlinspike. Selon lui, cette approche "basée sur les boîtes noires d'abstraction" prive les développeurs de la liberté nécessaire à l'innovation :
Envoyé par Moxie Marlinspike
Snyder affirme : « les étudiants en programmation n'apprennent pas les langages de bas niveau ni comment interagir avec le code machine, mais seulement des langages de haut niveau qui facilitent le développement d'applications, mais qui laissent les ingénieurs sans le contexte nécessaire pour comprendre comment leurs pièces du puzzle s'intègrent dans un ensemble plus vaste et largement interconnecté ». À ce propos, Marlinspike a fait valoir que les chercheurs en cybersécurité, qui sondent régulièrement les abstractions de surface, sont mieux placés pour stimuler l'innovation dans le développement de logiciels.
« Alors que l'ingénierie logicielle a passé les dernières décennies à s'efforcer de devenir plus rapide, plus flexible et, par extension, plus abstraite, les chercheurs en sécurité ont fait le contraire. La sécurité est le processus qui consiste à regarder à travers les abstractions afin de comprendre comment les choses fonctionnent, ce qu'elles contiennent, et parfois de les comprendre mieux que les personnes qui les ont construites au départ. Ce que j'essaie de dire, c'est que sans le savoir, je pense que vous, les personnes présentes dans cette salle, avez en fait hérité de leur Terre », a déclaré Marlinspike lors de son intervention.
Selon certains rapports, le problème souligné par Snyder et Marlinspike pourrait s'aggraver avec la profusion d'outils d'IA de génération de code. « Il y a de la magie dans le développement de logiciels », affirme Marlinspike, en ajoutant que la compréhension approfondie du fonctionnement est analogue à la maîtrise de la sorcellerie dans le monde d'Harry Potter, où le talentueux peut changer le monde avec rien d'autre que ses connaissances et une baguette magique.
Envoyé par Moxie Marlinspike
La récente sortie de Marlinspike fait à de nombreuses autres plaintes selon lesquelles le développement logiciel a perdu tout son charme d'antan. Une étude menée auprès de 600 ingénieurs logiciels britanniques et américains a révélé 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 Agile peuvent être divisés par 6,5 en utilisant une nouvelle méthodologie d'ingénierie d'impact. Pourtant, de nombreuses équipes d'ingénierie se tournent systématiquement vers les méthodes Agile.
Selon l'étude, l'adoption d'une ingénierie d'impact pourrait permettre d'économiser 115 milliards de dollars 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. Certains experts affirment que l'approche Agile conduit les organisations vers une technique beaucoup plus importante.
Par ailleurs, l'approche Agile n'est peut-être pas le seul facteur qui limite l'innovation dans le développement logiciel moderne. Dans une analyse détaillée publiée le mois dernier, Avery Pennarun, ancien ingénieur de Google et PDG de la société de VPN Tailscale, a sévèrement critiqué les pratiques modernes de développement de logiciels. Pennarun affirme que le développement logiciel moderne est submergé par une complexité inutile et des "frais généraux inutiles".
Selon Pennarun, ce phénomène est dû à "une focalisation erronée" sur l'évolutivité pour des tâches qui en ont rarement besoin. Il met en cause : la mise à l'échelle, les conteneurs, le cloud computing, etc. Il oppose les pratiques de développement actuelles à l'efficacité de la programmation dans les années 90, où des systèmes plus simples pouvaient gérer des charges de travail substantielles rapidement et efficacement sans l'infrastructure gonflée que l'on voit aujourd'hui.
Source : Moxie Marlinspike
Et vous ?
Quel est votre avis sur le sujet ?
Êtes-vous d'avis que les méthodes Agile limitent les développeurs et empêchent l'innovation ?
Selon vous, pourquoi les pratiques Agile sont-elles de plus en plus décriées depuis quelques années ?
Quelle est votre expérience personnelle avec l'approche de développement Agile ? Agile est-elle le problème ?
Agile sacrifie-t-elle les bonnes pratiques de développement logiciel au profit d'un logiciel fonctionnel ?
Moxie Marlinspike affirme que les chercheurs en sécurité sont aujourd'hui les mieux placés pour stimuler l'innovation dans l'ingénierie logicielle. Partagez-vous cet avis ?
Voir aussi
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
L'un des développeurs de Signal explique pourquoi les premiers outils de messagerie chiffrée ont échoué, il estime que les développeurs doivent gérer la complexité au lieu de la déléguer aux utilisateurs
Agile pourrait-il conduire les organisations vers une dette technique plus importante ? Oui selon Don Clos, développeur logiciel, qui propose une analyse détaillée de la situation