Le développement de logiciel est essentiellement une activité de traduction, de conception et de construction. Les modèles d’organisation qui ont cours depuis plusieurs décennies dans l’entreprise ne reflètent pas cette réalité. Dans l’entreprise, on met plutôt l’accent sur le produit (comme dans “product owner”), sa livraison (“delivery”), et sa fabrication (“software factory”).

🏭

Or même si l’industrie du développement se porte très bien (merci pour elle), tout le monde s’accorde à reconnaître qu’il est possible de mieux faire. Ce n’est pas faire preuve d’une exigence hors de propos que de militer pour une base de code un peu plus facile à comprendre, une batterie de tests auto-vérifiants qui sécurise chaque changement, des backlogs qui laissent du temps pour retravailler la conception, bref, un peu moins de ce code “legacy” que l’on trouve partout. Un directeur de département à qui j’expliquais en quoi consistent mes missions en général, à savoir, aider des équipes à résoudre des problèmes posés par du code devenu trop difficile à maintenir, m’a fait cette remarque : “vous avez du boulot jusqu’à la retraite !”.

🕸

Nous “fabriquons” essentiellement du code legacy. Face à ce problème global la réponse toute indiquée, et la plus populaire, c’est d’améliorer nos compétences techniques. Il faut devenir de meilleur·es développeur·euse·s, se former (pas durant le “sprint” cependant), être intransigeant sur la qualité, refuser de “livrer de la m…”, et travailler son art (“craft”).

🎖

Se former, apprendre, lire (la littérature informatique est riche, vaste, et accessible) est une excellente idée, mais cela ne peut pas constituer un remède structurel au problème. L’entreprise dans laquelle on entend des phrases du type “les former pour qu’ensuite ils démissionnent, non merci.” n’a pas tout à fait tort de s’inquiéter : après tout notre industrie organise sa compétition sur les promesses de la nouveauté technologique.

🛍

Ah, la nouveauté ! Avec quelques photos d’espaces ouverts décontractés ou de centres de données immaculés, on peut créer pour une minute l’illusion d’un monde de la tech propre, ordonné, et pas trop rigide, mais nous savons tous qu’il n’en est rien : le monde de la tech empile des solutions sans les emboîter dans un désordre généralisé et coriace.

🌱

“L’herbe est toujours plus verte dans le pré d’en face”, bien sûr, nous évitons de tomber dans ce piège. Mais il semble malgré tout que partout où l’on regarde, quelque soit la “stack” ou le domaine métier auxquels on s’intéresse, chez nous l’herbe jaunit vite.

đź› 

Mais la nouveauté, tout de même ! Il suffirait d’un nouvel outil ! Certes, les outils font parfois une grande différence, mais aucun outil ne peut compenser le fait que nous sommes plus prompts à créer du code neuf qu’à réparer le code existant. Il nous faut changer de modèle.

Stay Tuned !

publié sur LinkedIn le 06/03/2023