- Lors de la conférence Black Hat, Moxie Marlinspike, fondateur de Signal, a affirmé que le développement agile fait disparaître l’innovation logicielle depuis vingt ans
- Il souligne que les développeurs sont enfermés dans des « couches d’abstraction en boîte noire » et ont perdu la liberté nécessaire à l’innovation
- « Quiconque gère une organisation d’ingénierie a probablement une philosophie de management qui est soit un sous-concept de l’Agile, soit un concept dérivé, soit relève du domaine de l’Agile, soit y est lié d’une manière ou d’une autre »
- Au lieu d’une dynamique bottom-up, où les développeurs combinent leur expertise en ingénierie avec une vision des nouvelles capacités des technologies existantes,
il affirme que les équipes Agile sont cloisonnées en silos, travaillent séparément et ne peuvent pas savoir ce que font les autres équipes
- Lors de la session de clôture, Window Snyder, fondatrice et CEO de Thistle Technologies, a ajouté que ces équipes « boîte noire » ont aussi tendance à manquer de visibilité sur les principes de fonctionnement de leurs propres produits
- Snyder affirme également que les étudiants qui apprennent la programmation n’apprennent pas à interagir avec les langages bas niveau ou le code machine, mais seulement avec des langages haut niveau qui facilitent le développement d’applications, si bien que les ingénieurs n’ont pas le contexte nécessaire pour comprendre comment les pièces du puzzle s’intègrent dans un ensemble plus vaste
Les chercheurs en sécurité détiennent la clé de l’innovation
- Marlinspike explique aussi que, tandis que l’ingénierie logicielle s’est abstraite au fil des décennies pour aller plus vite, devenir plus flexible et progresser davantage, les chercheurs en sécurité ont, eux, cherché à voir au-delà de l’abstraction
- « La sécurité, c’est le processus qui consiste à regarder à travers l’abstrait pour comprendre comment les choses fonctionnent réellement, ce qu’il y a en dessous, et parfois à le comprendre mieux que ceux qui l’ont créé au départ »
- Il affirme donc que les chercheurs en sécurité détiennent la clé des prochaines innovations
- Il compare aussi la compréhension du logiciel à celle de la magie, et décrit les experts en sécurité comme « des gens assis dans une bibliothèque à étudier la magie »
L’avis de GN⁺
- Il s’agissait d’une prise de parole perspicace de Marlinspike, pointant avec acuité les problèmes fondamentaux de l’Agile
- Je partage l’idée qu’à force de se focaliser uniquement sur l’abstraction et la vitesse de développement, les développeurs perdent progressivement la maîtrise des concepts fondamentaux
- L’attention portée au rôle des chercheurs en sécurité était particulièrement marquante. Comme la sécurité consiste à explorer la réalité cachée derrière l’abstraction, elle peut devenir un moteur d’innovation
- D’une certaine manière, cela transmet le message que les ingénieurs logiciels doivent rechercher une compréhension plus profonde
- Les avantages de l’Agile existent évidemment aussi, ce qui appelle une approche équilibrée. Il faut chercher des moyens de consolider les fondamentaux tout en préservant l’agilité et la flexibilité de l’Agile
- Pour cela, il faut commencer par améliorer les cursus de formation des développeurs. Au-delà des langages haut niveau, il faudrait renforcer l’enseignement des bases comme les langages bas niveau et l’architecture des ordinateurs
11 commentaires
J’ai l’impression qu’on confond les problèmes de managers qui ont mal compris l’agile avec des problèmes propres à l’agile lui-même.
On a a parfois l’impression qu’avec l’évolution de l’époque, comme apprendre des connaissances de bas niveau ne produit plus de ROI, on finit par n’apprendre que des connaissances de haut niveau.
Pourquoi s’en prendre à l’agile pour rien ...
On mélange ici les concepts de north-south et d’east-west, donc le propos est assez confus.
J’ai plutôt l’impression que le fait de ne pas savoir ce que font les autres équipes relève davantage d’un problème de structure organisationnelle cross-functional que de l’Agile lui-même.
Le fait de mal connaître le low level, si on lit bien, revient à dire quelque chose comme « dans ce cas, on a aussi tendance à mal connaître le low level ».
Même si on admet que le fait de ne pas savoir ce que font les autres équipes a un certain rapport avec l’Agile, je ne vois vraiment pas en quoi le fait de ne pas connaître le low level a quoi que ce soit à voir avec l’Agile lol
À bien y réfléchir, avec la diffusion massive de l’open source, il n’est plus vraiment nécessaire de tout construire soi-même, donc on ne réinvente pas la roue, et comme on se contente d’utiliser tout ce qui concerne le low level, il serait peut-être plus juste de dire qu’on n’étudie plus vraiment ces sujets.
Si on essaie malgré tout de comprendre cette remarque, on peut admettre qu’à cause de l’Agile on cherche seulement à aller vite et qu’on n’étudie donc pas le low level, mais au fond, n’est-ce pas plutôt qu’on ne le fait pas parce que ce n’est pas nécessaire ?
Je pense qu’avec l’agile, on a tendance à négliger les choix qui permettent d’aborder les problèmes avec une vision large et de construire quelque chose de durable sur le long terme, et que, du point de vue logiciel aussi, cela pousse de plus en plus à se concentrer uniquement sur la résolution des problèmes immédiats.
Bien sûr, rendre quelque chose fonctionnel à tout prix n’est pas en soi une démarche agile, mais j’ai l’impression qu’il existe une tendance à privilégier fortement la vitesse, et que cela peut devenir un facteur qui rend plus difficile la recherche d’une compréhension en profondeur.
Je ne sais pas pourquoi on cherche à attribuer à l'agile la cause du problème d'absence de pouvoir de décision dans les organisations d'ingénierie.
Quel rapport entre l’agile et le fait de ne pas savoir ce que font les autres équipes… ;;;
Cela dit, le nom Window Snyder est vraiment très particulier…
J’aimerais voir la vidéo originale, mais elle n’est pas encore disponible. J’imagine qu’elle sera mise en ligne sur la chaîne YouTube officielle d’ici peu.
https://www.youtube.com/@BlackHatOfficialYT/
Avis sur Hacker News
La structure des entreprises modernes est la cause profonde du problème
Les bonnes idées de l’agile ont été absorbées par l’ingénierie logicielle au sens large
Mécontentement vis-à-vis d’Agile, Scrum et des OKR
Expérience lors d’une réunion de refinement du backlog
Une théorie sur les problèmes de l’agile
Baisse de la qualité logicielle
Il faut laisser les ingénieurs « posséder » une partie du code
Expérience d’évitement des réunions quotidiennes de stand-up
Les problèmes des grandes organisations
Avis selon lequel il faut retrouver la « magie » du développement logiciel
> Il existe une théorie moderne du management selon laquelle la responsabilité et la prise de décision doivent remonter le long de la hiérarchie de l’entreprise.
N’est-ce pas justement une caractéristique des organisations bureaucratisées ?