17 points par GN⁺ 2024-08-12 | 11 commentaires | Partager sur WhatsApp
  • 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

 
jeokrang 2024-08-20

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.

 
yangeok 2024-08-20

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.

 
andrewchaa 2024-08-14

Pourquoi s’en prendre à l’agile pour rien ...

 
lordang 2024-08-12

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

 
lordang 2024-08-12

À 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 ?

 
bbulbum 2024-08-12

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.

 
savvykang 2024-08-12

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.

 
galadbran 2024-08-12

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…

 
xguru 2024-08-12

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/

 
GN⁺ 2024-08-12
Avis sur Hacker News
  • La structure des entreprises modernes est la cause profonde du problème

    • Il existe une théorie moderne du management selon laquelle la responsabilité et la prise de décision doivent remonter la hiérarchie de l’entreprise
    • Les employés subalternes sont considérés comme ceux qui connaissent le moins bien le produit
    • Pourtant, en réalité, ce sont les employés de terrain qui disposent du plus d’informations
    • Quand on transforme l’ingénierie logicielle en processus de chaîne d’assemblage, l’innovation s’arrête
    • Une hiérarchie de gestion entièrement égalitaire n’est pas forcément la solution, mais il faut trouver un moyen de ne pas priver les employés de terrain de leur pouvoir d’agir
    • Le livre <i>Reinventing Organisations</i> décrit des structures d’entreprise innovantes
  • Les bonnes idées de l’agile ont été absorbées par l’ingénierie logicielle au sens large

    • On considère souvent les programmeurs agiles comme des personnes qui suivent des stand-up meetings stricts, des tableaux Kanban, etc.
    • Je ne pense pas que l’agile ait provoqué la fragmentation des connaissances ni la déqualification de l’ingénierie logicielle
    • C’est un problème causé par la tendance à la production de masse
    • On observe des phénomènes similaires dans les constructeurs automobiles ou les usines de meubles
  • Mécontentement vis-à-vis d’Agile, Scrum et des OKR

    • Tous promettent de donner plus de liberté et de responsabilité aux employés subalternes, mais en pratique tout se recentralise
    • J’aimerais essayer d’appliquer les OKR à l’envers
    • Chaque employé devrait définir les résultats clés dans son propre domaine, et les managers devraient s’appuyer dessus pour fixer la direction de l’équipe
    • Il faut une approche ascendante plutôt que descendante
    • Il faut bien recruter, bien former et faire confiance aux employés
  • Expérience lors d’une réunion de refinement du backlog

    • Il fallait estimer la correction d’un bug dans du code qui ne m’était pas familier
    • Comme c’était difficile à estimer, j’ai donné un chiffre à la louche
    • L’agile fonctionnait de manière similaire dans trois endroits différents
  • Une théorie sur les problèmes de l’agile

    • Découper le travail en petites parties est utile, mais la programmation exige de la créativité
    • Beaucoup d’informations se perdent dans le processus de découpage du travail
    • Les développeurs doivent trouver des solutions créatives, mais n’obtiennent pas les informations nécessaires
    • Il faut des développeurs expérimentés ou de meilleurs diagrammes de conception et une meilleure documentation
  • Baisse de la qualité logicielle

    • Les logiciels se sont dégradés au cours des dernières décennies
    • Nous utilisons des machines plus puissantes, mais la réactivité est moindre
    • Cela pourrait être lié à la montée de l’agile
  • Il faut laisser les ingénieurs « posséder » une partie du code

    • C’était la période où le logiciel de l’équipe était au meilleur niveau
  • Expérience d’évitement des réunions quotidiennes de stand-up

    • Les rétrospectives continues et le découpage du travail étaient inefficaces
    • Cela n’était utile qu’aux managers non techniques
  • Les problèmes des grandes organisations

    • Les développeurs ne sont plus aux commandes
    • La vision, le produit, l’UX et la gestion de projet sont décidés en haut de la hiérarchie
    • Les développeurs travaillent en utilisant des technologies cloud
    • Ils ne peuvent ni comprendre l’ensemble du tableau ni faire des propositions importantes
  • Avis selon lequel il faut retrouver la « magie » du développement logiciel

    • On voit que cette personne travaille dans le secteur depuis plus de 20 ans
    • Quand on passe du temps avec de jeunes programmeurs, la magie est toujours là
    • Il y a 20 ans déjà, on entendait des plaintes similaires, mais on continuait malgré tout à travailler avec plaisir
 
savvykang 2024-08-13

> 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 ?