29 points par GN⁺ 2025-12-06 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Dans les entreprises qui traînent une importante dette technique, l’inefficacité provient souvent de la duplication de code et de frameworks obsolètes
  • Au cours d’un projet, la perte de confiance du management et la résistance au changement dans l’organisation deviennent des obstacles majeurs
  • Les causes profondes de la dette technique sont des facteurs humains comme des exigences floues, des délais irréalistes, une préférence pour des technologies obsolètes, les réactions à court terme de la direction et l’ego individuel
  • Pour qu’un projet réussisse, il faut non seulement des résultats techniques, mais aussi une bonne gestion de la perception et de la communication
  • En plus de leurs compétences techniques, les ingénieurs doivent aussi savoir coopérer dans l’organisation et gérer les relations humaines

Dette technique et problème du code dupliqué

  • Dans une entreprise où j’ai travaillé auparavant, il existait une grave dette technique avec plusieurs millions de lignes de code, l’absence de tests unitaires et l’usage de frameworks vieux de plus de 10 ans
    • Pour faire tourner sous Linux un module réservé à Windows, des centaines de milliers de lignes de code ont été dupliquées par copier-coller
    • Cela a créé deux bases de code distinctes, ce qui obligeait à gérer séparément l’ajout de fonctionnalités et la correction des bugs
  • Ce type de situation mène à une architecture impossible à maintenir, et l’écart entre les deux codes s’aggrave avec le temps

La dette technique comme problème humain

  • Il est difficile de convaincre la direction de lancer un projet de réduction de dette technique, car au final il modifie peu les fonctionnalités et produit donc peu de résultats visibles
    • Le projet prend du retard, ce qui entraîne une perte de confiance du management
  • Le cœur du problème n’est pas la technologie, mais l’attitude des personnes et la culture d’entreprise
    • Beaucoup de développeurs résistent au changement et se contentent des anciennes méthodes
    • La structure du code reflète la personnalité de son auteur et sa capacité à accepter le changement
  • La dette technique naît d’exigences peu claires, de promesses irréalistes, de choix technologiques obsolètes, de décisions d’interruption prises par la direction et de l’ego personnel
    • Plus une équipe a tendance à éviter le changement, plus cette résistance se reflète dans le code lui-même
  • Plusieurs développeurs travaillaient depuis des années exactement de la même manière, et certains allaient jusqu’à dire : « Je n’ai pas envie d’apprendre quelque chose de nouveau »
  • Dans un tel environnement, la dette s’accumule plus vite qu’on ne peut la résorber ; avant même de la réduire, il faut donc empêcher qu’elle continue de croître
    • Comme dans le triage aux urgences, il faut d’abord “arrêter l’hémorragie”

L’écart entre le monde idéal et la réalité

  • Il existe très rarement un environnement idéal où l’on peut résoudre des problèmes d’ingénierie en les séparant de leur contexte politique ou organisationnel
    • La plupart des projets impliquent des parties prenantes non techniques
    • Une attitude du type « Faites-nous confiance, on s’en occupe » ne fonctionne pas
  • La gestion de la perception des résultats est aussi importante que les résultats eux-mêmes
    • Les non-techniciens ne comprennent pas intuitivement la nécessité de traiter la dette technique ; il faut donc l’expliquer en valeur quantitative et métier
    • Quand le leadership n’a pas de background en ingénierie, il faut montrer des chiffres visibles et des effets concrets
  • Au final, le fait qu’une équipe paraisse productive est aussi important que sa productivité réelle

Les compétences nécessaires à un ingénieur senior

  • À partir du niveau senior, la capacité à collaborer entre départements et à gérer les relations humaines devient indispensable
    • Les formations en informatique n’enseignent pas vraiment la gestion des personnes, comme le caractère, l’ego ou les relations
  • Même un ingénieur doté d’excellentes compétences techniques peut échouer face à des problèmes qui exigent des changements à grande échelle et à l’échelle de l’organisation
    • Sa productivité individuelle peut être élevée, mais son influence organisationnelle reste limitée
  • Le rôle de Heads up coder est important
    • Une personne capable de conserver une forte profondeur technique tout en identifiant tôt les risques projet et en coordonnant l’équipe
    • Au lieu de travailler seul très vite comme un cœur unique, elle oriente efficacement l’ensemble de l’équipe
    • Contrairement à un ingénieur purement technique, elle sait avancer en lisant à la fois le contexte organisationnel et les risques

En résumé

  • À la racine des problèmes techniques, il y a toujours des personnes
    • La plupart des problèmes techniques se ramènent en fin de compte à des problèmes humains, culturels et de communication
  • La dette technique n’est pas un problème de code, mais le résultat de schémas de comportement et d’une culture organisationnelle
    • Pour la résoudre, il faut d’abord une acceptation du changement à l’échelle de l’organisation et une compréhension de la part du leadership
  • Et il existe, plus loin dans la carrière, des problèmes plus vastes que l’excellence technique seule ne permet pas de résoudre
    • Un véritable ingénieur senior est un leader équilibré qui sait conjuguer technique et compréhension de l’humain

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.