Skip to content

Concevoir par les humains

Chapter Info

Calculating... Writing Progress: 60%

!!Le logiciel est conçu pour résoudre des problèmes humains, mais sa création est un défi humain en soi. L’architecture, la qualité et la livraison dépendent autant de la technologie que de la manière dont les gens pensent, agissent et collaborent.!! !!Ignorer la nature humaine, c’est négliger l’une des forces les plus influentes dans le développement logiciel.!!

Concevoir par les humains

La dure réalité humaine du développement logiciel

!!Le développement logiciel est rarement aussi ordonné qu’on l’imagine. Malgré des décennies d’expérience, des outils avancés et des pratiques rodées, les projets font toujours face à des priorités mouvantes, à la dette technique, à des urgences répétées et à des résultats imprévisibles.!! Avant d’analyser les causes, il faut d’abord regarder la réalité de la façon dont le logiciel est véritablement construit.

La dure réalité humaine du développement logiciel

Le chaos du développement logiciel

Le développement logiciel est chaotique par nature, que ce soit dans les startups ou les grandes entreprises. Les délais sont repoussés, les priorités changent du jour au lendemain, les tests restent incohérents, la documentation est négligée, et la dette technique s’accumule plus vite qu’elle ne se résorbe. !!Les décisions sont dictées par l’urgence plutôt que par la stratégie, tandis que des responsabilités floues et des dysfonctionnements organisationnels freinent encore davantage les progrès. Le résultat : un système maintenu par des rafistolages, des solutions temporaires et beaucoup d’espoir — le logiciel est livré, non pas parce qu’il est prêt, mais parce qu’il n’y a plus de temps.!!

Le chaos du développement logiciel

Le backlog infini : le travail ne finit jamais vraiment

En développement logiciel, le backlog est pratiquement infini. Il y a toujours de nouvelles fonctionnalités à développer, des bugs à corriger, des migrations à planifier et de la dette technique à résorber. Chaque tâche accomplie fait émerger de nouvelles opportunités et de nouveaux problèmes. !!Le défi n’est pas de tout terminer, mais de décider ce qui mérite d’être traité et ce qui peut attendre. Chaque choix de travailler sur un sujet en laisse d’autres de côté.!! Faire de l’ingénierie de qualité, c’est accepter ce compromis plutôt que de croire qu’on pourra tout livrer.

Le backlog infini : le travail ne finit jamais vraiment

Quand la productivité devient pression

Les gains de productivité ne réduisent pas forcément la charge de travail. Quand des outils comme l’IA permettent aux ingénieurs d’en faire plus en moins de temps, les organisations réagissent souvent en augmentant les attentes au lieu de relâcher la pression. Plus de fonctionnalités, des délais raccourcis et un rythme de livraison accéléré deviennent la norme. Pourtant, relire, comprendre et maintenir cette production croissante exige toujours de l’attention humaine. Ce qui devait faciliter le travail peut ainsi générer plus de stress. Le problème ne vient pas de la technologie, mais de la tendance à transformer chaque gain d’efficacité en nouvelle exigence.

Quand la productivité devient pression

Le piège du battage médiatique

!!Les organisations logicielles sont particulièrement sensibles à l'engouement technologique. Un nouvel outil prometteur devient une priorité stratégique avant même que l’on se demande quel problème il résout réellement.!! L’IA en est le dernier exemple : des équipes se précipitent pour l’ajouter à leurs feuilles de route alors que des déploiements instables, une observabilité déficiente et une responsabilité floue restent sans solution. Une nouvelle technologie peut offrir une réelle valeur ajoutée, mais elle ne peut pas compenser des bases négligées. Le défi humain consiste à résister à l’attrait de la nouveauté suffisamment longtemps pour distinguer les vraies opportunités des distractions à la mode.

Le piège du battage médiatique

Le développement piloté par l’urgence : le changement n’arrive qu’en crise

Le développement guidé par l’urgence est une réalité dans beaucoup d’organisations, où le changement n’intervient qu’en cas de crise. La qualité, la sécurité et la scalabilité sont régulièrement négligées — jusqu’à ce qu’une panne, une faille ou un client perdu impose une réaction immédiate. Les équipes peinent à obtenir des moyens pour le travail préventif, mais au moindre incident, les budgets et les priorités changent instantanément. Les crises deviennent les principaux moteurs de l’innovation.

Le développement piloté par l’urgence : le changement n’arrive qu’en crise

La culture du pompier : pourquoi on répare au lieu de prévenir

!!Quand les urgences dictent le changement, les organisations valorisent davantage ceux qui éteignent les incendies que ceux qui les préviennent. Les pannes font réagir ; le travail discret sur la résilience passe inaperçu.!! Le résultat : une culture qui célèbre les actes héroïques visibles au détriment de la fiabilité durable. Pour sortir de ce cercle, il faut prendre les petits incidents au sérieux, en tirer des leçons, et corriger les problèmes avant qu’ils ne deviennent des crises.

La culture du pompier : pourquoi on répare au lieu de prévenir

Post-mortems : corriger les symptômes, éviter les vraies causes

Les post-mortems sont censés révéler pourquoi les incidents surviennent, mais les causes profondes sont souvent les plus difficiles à aborder. Ajouter des alertes, améliorer la supervision ou mettre à jour les runbooks sont des solutions faciles à accepter. Remettre en question les choix d’architecture, les frontières organisationnelles ou les pratiques managériales s’avère beaucoup plus délicat. La crainte du conflit, les enjeux politiques et la volonté d’éviter d’anciennes discussions poussent les équipes vers des corrections de surface. Le post-mortem produit des actions, tout le monde approuve, et les problèmes de fond subsistent. Parfois, les causes racines les plus dures à résoudre ne sont pas techniques, mais humaines.

Post-mortems : corriger les symptômes, éviter les vraies causes

L’effet boule de neige des mauvaises décisions

Dans le développement logiciel, une seule mauvaise décision ne reste jamais isolée — elle entraîne une série de compromis, de contournements et de problèmes systémiques. Lorsqu’un choix initial est bancal (vision court terme, délais serrés, absence de planification), toutes les décisions suivantes reposent sur des bases fragiles, et le coût des corrections croît plus vite que le système lui-même.

L’effet boule de neige des mauvaises décisions

Les apparences comptent plus que la qualité

Une fonctionnalité est livrée, elle fonctionne, et tout le monde se félicite. Mais personne ne voit les raccourcis, le code fragile, les tests manquants ou la dette technique laissée derrière. De l’extérieur, une bonne ingénierie et une mauvaise ingénierie peuvent se ressembler exactement. Quand les organisations récompensent ce qui est livré sans regarder comment cela a été construit, elles risquent de célébrer précisément les décisions qui créeront les problèmes de demain.

Les apparences comptent plus que la qualité

Quand les métriques deviennent des objectifs

Les organisations logicielles aiment mesurer l’avancement, mais de bons indicateurs ne garantissent pas forcément de bons résultats. Les équipes peuvent clore plus de tickets en fragmentant les tâches, atteindre une couverture de tests élevée sans assertions pertinentes, ou augmenter la fréquence de déploiement sans créer plus de valeur. Les tableaux de bord passent au vert, les évaluations sont flatteuses, et tout le monde semble productif — alors que le logiciel, lui, ne progresse pas forcément. Quand les métriques deviennent des objectifs, on optimise naturellement les chiffres plutôt que les résultats qu’ils étaient censés représenter.

Quand les métriques deviennent des objectifs

L’illusion du progrès : quand l’agitation remplace le vrai travail

On confond souvent activité et progrès. Les équipes passent des mois à développer des fonctionnalités qui n’atteignent jamais la production, travaillent sur des sujets non demandés, ou se lancent dans des projets voués à l’échec. Les réunions inutiles et des documents jamais lus occupent le temps sans rien faire avancer. !!Le travail est bien réel, mais le progrès n’est qu’une illusion. Être occupé ne signifie pas avancer.!!

L’illusion du progrès : quand l’agitation remplace le vrai travail

Le coût psychologique du développement logiciel

Le développement logiciel ne se résume pas à écrire du code. Chaque décision ajoute à la charge mentale : priorités changeantes, dépendances complexes, délais serrés maintiennent une pression constante. Il y a aussi un coût émotionnel : les développeurs tiennent à leur travail, et voir leurs solutions rejetées ou critiquées peut être décourageant. La fatigue décisionnelle s’accumule, et quand l’urgence devient la norme, l’épuisement n’est jamais loin. Pour que le développement logiciel soit soutenable, il faut reconnaître ce coût humain invisible — et agir autant sur les outils et processus que sur ceux qui les utilisent.

Le coût psychologique du développement logiciel

L’individu : pas fait pour le logiciel

!!Comment une industrie remplie d’ingénieurs brillants et très compétents peut-elle produire autant de chaos, de dette technique et de complexité évitable ? Pour comprendre ce paradoxe, il faut dépasser la technologie et examiner la nature humaine — les instincts et biais qui orientent nos décisions, quel que soit le niveau d’intelligence ou d’expérience.!! Ces comportements ne sont pas propres à l’ingénierie logicielle, mais ils ont un impact particulièrement marqué sur des systèmes complexes.

Notre cerveau n’a pas été conçu pour le logiciel

!!Le cerveau humain a évolué pour survivre dans un monde bien différent de celui de l’ingénierie logicielle. Il privilégie les récompenses immédiates, les solutions familières et l’acceptation sociale, alors que le développement logiciel exige une pensée abstraite, une vision long terme et des décisions dans l’incertitude.!! Beaucoup de nos erreurs d’ingénierie découlent de ce décalage entre nos instincts naturels et les exigences des systèmes complexes.

Notre cerveau n’a pas été conçu pour le logiciel

Nous ne comprenons que ce que nous voyons

Notre compréhension est limitée par ce que nous pouvons observer. Nous voyons comment quelque chose fonctionne, mais pas forcément pourquoi cela a été conçu ainsi. Pourtant, notre cerveau comble le contexte manquant, transformant des observations en explications et des hypothèses en faits. Une décision qui avait autrefois un sens pour des raisons pratiques peut ainsi conduire les nouveaux arrivants à tirer des conclusions totalement différentes. !!Ce que nous voyons n’est qu’une partie de l’histoire — mais nous le prenons souvent pour toute la vérité.!!

Nous ne comprenons que ce que nous voyons

Ne choisir que parmi les options visibles

Les développeurs s’appuient sur ce qui existe déjà. On ajoute un endpoint à un service existant au lieu de créer un nouveau service. On surcharge un pipeline plutôt que d’en concevoir un autre. Une bibliothèque familière est étirée bien au-delà de sa vocation. Trop souvent, on choisit la meilleure option parmi celles sous nos yeux, sans prendre de recul pour envisager d’autres pistes. Ce qui est déjà là semble gratuit ; ce qui manque paraît coûteux — ainsi, le système s’agrandit en s’appuyant sur ce qui était présent au départ, pas sur ce dont il a réellement besoin.

Ne choisir que parmi les options visibles

L’illusion de savoir

Nous sommes souvent plus sûrs de notre compréhension que les faits ne le justifient. Les ingénieurs sous-estiment la complexité, négligent les risques et prennent des décisions sans remettre en question leurs hypothèses. L’expérience peut aggraver les choses : plus un problème paraît familier, moins nous sommes enclins à remettre en cause ce que nous croyons savoir. La confiance n’est pas une preuve de compréhension.

L’illusion de savoir

Le confort de ne pas comprendre

!!Comprendre demande des efforts, accepter une explication est facile. Lorsqu’une solution paraît familière ou convaincante, nous avons tendance à penser que nous la comprenons sans vraiment examiner son raisonnement.!! L’IA accentue cette tentation en produisant des réponses plausibles presque instantanément. Les ingénieurs peuvent valider du code qu’ils lisent, sans pouvoir vraiment l’expliquer. Le problème apparaît lorsque quelque chose casse et qu’il faut interroger les hypothèses sous-jacentes à la solution. Reconnaître une réponse n’est pas la même chose que la comprendre.

Le confort de ne pas comprendre

Atrophie cognitive

!!Les compétences s’affaiblissent lorsqu’on ne les exerce plus. L’IA permet de déléguer non seulement les tâches répétitives, mais aussi une partie du raisonnement nécessaire à la résolution de problèmes.!! Les ingénieurs qui s’appuient systématiquement sur des solutions générées risquent peu à peu de perdre confiance en leur capacité à concevoir, déboguer ou reconstruire par eux-mêmes. Pourtant, l’IA peut aussi renforcer l’apprentissage en exposant des alternatives et en remettant en cause nos certitudes. Tout dépend de l’usage : en faire un outil qui soutient notre réflexion ou un substitut à celle-ci.

Atrophie cognitive

La mentalité copier-coller : emprunter sans réfléchir

S’inspirer d’existants est courant et souvent pertinent en ingénierie. Copier va plus vite, rassure, et semble éprouvé : si quelqu’un l’a fait, c’est un point de départ crédible. Le risque apparaît quand une solution empruntée amène avec elle un contexte, des contraintes et des hypothèses qui ne s’appliquent pas à la nouvelle situation. La réutilisation vire au cargo cult quand personne ne sait vraiment si ce choix reste pertinent. Le système hérite alors de décisions que plus personne n’a choisies.

La mentalité copier-coller : emprunter sans réfléchir

Le piège de la zone de confort : pourquoi nous résistons au changement

!!Les ingénieurs ont souvent du mal à changer ce qui fonctionne encore.!! Un service fragile mais existant perdure car une réécriture est jugée trop risquée. Un framework obsolète subsiste parce qu’une migration paraît trop coûteuse. Parfois, ces choix sont justifiés ; mais souvent, la peur de tout casser bloque l’amélioration. Même lorsque tout le monde s’accorde à dire qu’un remplacement est nécessaire, cette peur peut maintenir l’existant pendant des années.

Le piège de la zone de confort : pourquoi nous résistons au changement

L’attrait de la solution rapide et sale

Sous pression, on a tendance à préférer un soulagement immédiat à des bénéfices futurs incertains. En logiciel, cette tendance rend le correctif rapide attrayant : il règle l’incident ou l’échéance du jour, tandis que la dette technique, l’instabilité et la reprise du travail arrivent plus tard. La tentation est compréhensible, et n’est pas le signe d’un mauvais caractère — mais elle exige un contrepoids dans le processus de conception. !!« On nettoiera plus tard » devient coûteux quand aucun temps, aucun responsable ni aucun plan n’est réservé pour le faire.!! Sans cet engagement, le désordre s’accumule et on rafistole le mur sans jamais le reconstruire.

L’attrait de la solution rapide et sale

L’art de résoudre des problèmes que nous n’avons pas

Les ingénieurs aiment résoudre des problèmes difficiles — parfois plus que nécessaire. La sur-ingénierie, le perfectionnisme et la volonté d’anticiper l’avenir conduisent à créer des solutions pour des problèmes qui n’existent pas. Ce qui en résulte : des abstractions inutiles, une architecture surdimensionnée et des coûts de maintenance imprévus. Bien concevoir, ce n’est pas résoudre le problème le plus complexe — c’est résoudre le bon problème, avec la complexité minimale requise.

L’art de résoudre des problèmes que nous n’avons pas

Nous prêtons des intentions qui n’existent pas

Lorsque nous communiquons par texte, notre cerveau comble le contexte manquant. Un commentaire bref sur une pull request peut sembler abrupt, une réponse tardive peut donner l’impression d’un rejet, et une question directe peut être perçue comme une critique. Faute de ton ou d'expressions faciales, nous prêtons parfois des émotions et des intentions qui n’existent pas. L’IA complique encore plus la situation : nous attribuons parfois des intentions humaines à des messages qui n’ont même pas été écrits par des humains. De petits malentendus peuvent alors vite devenir des conflits personnels.

Nous prêtons des intentions qui n’existent pas

La peur du conflit

La peur du conflit pousse souvent les gens à garder leurs objections pour eux, même s'ils savent qu'une décision est mauvaise. Un ingénieur reste silencieux lors d'une revue d'architecture bancale. Un relecteur valide une PR douteuse pour éviter une discussion. Quelqu'un accepte un délai irréaliste au lieu de dire « non », tandis qu'un autre hésite à poser une question qui pourrait révéler un bug. Beaucoup de mauvaises décisions persistent parce que les problèmes sont repérés, mais le silence prévaut sur l'affrontement. Les conséquences viennent souvent de ce que personne n'a osé exprimer.

La peur du conflit

L’équipe : un contrepoids à la nature humaine

Les limites individuelles ne disparaissent pas lorsque l’on travaille en équipe. !!Une équipe peut compenser les angles morts individuels en réunissant des perspectives, des compétences et des expériences variées!!. L’enjeu est de créer un environnement où chacun peut remettre en question les suppositions, partager la responsabilité et améliorer collectivement les décisions.

Les équipes rééquilibrent la nature humaine

!!Nous sommes souvent meilleurs pour détecter les erreurs et angles morts chez les autres que chez nous-mêmes. C’est la force première d’une équipe : chaque membre apporte des perspectives critiques que les autres n’ont pas.!! En remettant en cause les hypothèses, en identifiant des risques négligés et en challengeant les décisions, les membres d’une équipe s’aident à penser plus clairement. Ensemble, on prend de meilleures décisions qu’individuellement — à condition que le désaccord soit accepté.

Les équipes rééquilibrent la nature humaine

Des esprits différents, des équipes plus fortes

Une équipe solide n’est pas composée de gens qui pensent de la même façon ou excellent dans les mêmes domaines. Certains sont visionnaires, d’autres bâtisseurs. Certains remettent en cause chaque décision, d’autres avancent vite et font les choses. Certains excellent en architecture, d’autres résolvent d’instinct des problèmes de production complexes. La force d’une équipe vient de la combinaison de personnalités, d’instincts et de compétences différents — pas du fait de rendre tout le monde également bon en tout.

Des esprits différents, des équipes plus fortes

La sécurité psychologique : le fondement des vraies équipes

!!La sécurité psychologique permet de dire « je ne sais pas », « je me suis trompé », ou « ça ne va pas marcher » sans craindre de sanction.!! Sans cela, les problèmes sont cachés, les juniors n’osent plus poser de questions, et les post-mortems deviennent une simple formalité. Apprendre de ses échecs exige de parler ouvertement de ce qui n’a pas fonctionné. La sécurité psychologique ne consiste pas à éviter l’opposition — c’est ce qui permet un vrai désaccord constructif.

La sécurité psychologique : le fondement des vraies équipes

Laissez le junior parler en premier

L’expérience apporte un jugement précieux, mais aussi de l’influence. Quand l’ingénieur le plus senior parle en premier, les autres peuvent hésiter à le contredire ou à proposer un autre point de vue. Invitez les juniors et les nouveaux arrivants à partager leur avis avant que les experts ne révèlent le leur. Leurs idées méritent la même considération, même s’ils manquent d’expérience. Le but n’est pas de donner le même poids à chaque opinion, mais de s’assurer que chaque point de vue est entendu avant que l’autorité ne façonne la discussion.

Laissez le junior parler en premier

Source historique

Mishnah Sanhedrin 4:2, compilée vers l’an 200 de notre ère, prescrit aux tribunaux de commencer les affaires capitales par les juges les moins anciens afin que leurs opinions ne soient pas influencées par leurs aînés.

La responsabilité change le comportement

!!La responsabilité change la manière d’agir. Quand les ingénieurs assument les conséquences de leurs choix, ils réfléchissent naturellement au-delà de la livraison immédiate.!! La fiabilité, la maintenabilité et les coûts long terme deviennent des sujets personnels, et non plus des problèmes laissés à d’autres. C’est la logique du “You Build It, You Run It” : l’équipe qui construit un service en assure aussi l’exploitation. La responsabilisation est un moteur puissant pour de meilleures décisions, car ceux qui décident en vivront les conséquences.

La responsabilité change le comportement

Source

Dans une interview ACM Queue de 2006, Werner Vogels, CTO d’Amazon, expliquait que donner aux développeurs la responsabilité opérationnelle avait considérablement amélioré la qualité des services : « You build it, you run it. »

Le bus factor : répartir la connaissance

Le bus factor d’une équipe est le nombre minimal de personnes dont le départ mettrait le projet en danger. Un bus factor de un signifie qu’une connaissance critique repose sur une seule personne — une fragilité dangereuse. L’augmenter suppose de faire tourner le développement des fonctionnalités entre les ingénieurs, d’éviter la propriété permanente du code, de travailler en binôme sur du code peu familier et de documenter ce qui compte. Une équipe avec un bus factor de un accumule une dette qui sera exigible sans prévenir. Partager la connaissance prend du temps, mais permet à l’équipe de continuer à fonctionner quand des gens partent.

Le bus factor : répartir la connaissance

Guilherme Avelino et al.

A Novel Approach for Estimating Truck Factors (2016).

Des rituels qui survivent aux personnes

Les individus passent, les équipes évoluent. Les post-mortems sans blâme, les revues de conception, les rotations d’astreinte et les sessions de partage de connaissances aident à faire perdurer les bonnes pratiques. Quand elles répondent à un vrai besoin, ces rituels font office de système immunitaire de l’équipe. Un bon rituel ancre les comportements attendus : il a lieu, qu’on en ait envie ou non. Sans cela, la culture d’équipe dépend de la bonne volonté de ceux présents — et le jour où ils partent, la culture s’en va avec eux.

Des rituels qui survivent aux personnes

Contester le consensus, pas les uns les autres

Les équipes solides développent naturellement des habitudes et des façons de penser communes. Avec le temps, cette cohésion peut mener à la pensée de groupe, où préserver l’accord devient plus important que prendre de bonnes décisions. Pour l’éviter, les équipes doivent chercher activement des arguments contraires, remettre en cause les décisions qui semblent trop évidentes et revisiter leurs hypothèses avant de faire des choix importants. Le but n’est pas d’éliminer le désaccord, mais de faire de l’esprit critique une part naturelle du travail d’équipe.

Contester le consensus, pas les uns les autres

Entre équipes : la nature humaine au travail

!!Les équipes peuvent compenser les faiblesses individuelles, mais le travail collectif peut aussi faire émerger de nouveaux problèmes. Chaque équipe développe ses propres priorités, habitudes et identité. À mesure que les systèmes logiciels grandissent, les dépendances techniques deviennent des dépendances organisationnelles ; ainsi, les différences d’incitations, de responsabilités et de points de vue peuvent transformer des changements simples en négociations complexes.!!

Entre équipes : la nature humaine au travail

La taxe de coordination : quand les dépendances se multiplient

Lorsqu’un projet implique plusieurs équipes, le travail ne se limite plus à des aspects techniques. Les ingénieurs doivent trouver les bons interlocuteurs, aligner les priorités, négocier les responsabilités, attendre les décisions et coordonner les changements. Chaque équipe supplémentaire ajoute des dépendances, de la charge de communication et des délais. Une tâche qui aurait pris quelques jours à un seul ingénieur peut nécessiter des semaines de coordination. Plus il y a d’équipes, plus on consacre de temps à organiser le travail, et moins à le réaliser.

La taxe de coordination : quand les dépendances se multiplient

Les équipes deviennent des tribus

!!Ce qui rend une équipe forte — un langage commun, des rituels et une identité partagée — peut aussi l’isoler des autres. Plus le sentiment d’appartenance au sein d’une équipe est fort, plus il devient facile de voir les personnes extérieures comme « eux » plutôt que « nous ».!! Les priorités des autres équipes semblent alors moins légitimes, leurs décisions plus discutables et leurs demandes plus envahissantes. La cohésion est précieuse, mais sans une identité collective plus large, la loyauté envers l’équipe se transforme discrètement en défiance envers les autres équipes.

Les équipes deviennent des tribus

Friction entre équipes : Priorités en conflit

Les équipes privilégient naturellement leurs propres missions, délais et obligations. Un changement bénéfique à l’organisation peut générer du travail supplémentaire, des risques ou des coûts de maintenance pour une autre équipe. Une résistance apparente cache parfois une préoccupation légitime. Sans vision partagée de ces compromis, la collaboration se réduit à des négociations sur la propriété, les priorités et le contrôle. !!Les tensions entre équipes ne sont pas toujours dues à un manque de coopération ; il arrive que l’organisation crée des incitations contradictoires pour chacune.!!

Friction entre équipes : Priorités en conflit

Accord au sommet, désalignement à la base

La collaboration entre équipes peut s’enliser même lorsque la direction s’accorde sur des objectifs communs. Chaque équipe a ses propres engagements, échéances et critères de performance. Officiellement, aider une autre équipe peut être autorisé, mais cela est souvent perçu comme une charge supplémentaire, en concurrence avec les objectifs de performance assignés. Résultat : les demandes restent en bas de la liste des priorités, les décisions prennent du retard et l’avancement s’interrompt. Si l’alignement existe en haut de la hiérarchie, il est inutile sans une vraie synchronisation des priorités là où le travail s’effectue réellement.

Accord au sommet, désalignement à la base

De l’aide à la collaboration

Demander à une autre équipe d’exécuter une liste de tâches ne suscite que rarement un véritable engagement. Lorsque l’un des groupes porte le projet tandis que l’autre est réduit à un simple prestataire, ce travail devient inévitablement secondaire. La collaboration est bien plus efficace quand les deux équipes sont traitées comme de véritables partenaires : associées aux décisions, reconnues pour leur expertise et leurs apports. Les gens s’investissent davantage dans ce qu’ils contribuent à façonner que dans les tâches confiées par d’autres. Être pleinement partenaire ne signifie pas se partager toutes les responsabilités, mais implique d’avoir une voix légitime dans le projet. !!Une responsabilité partagée crée un engagement qu’une simple demande ne pourra jamais susciter.!!

De l’aide à la collaboration

Not Invented Here : pourquoi les équipes réinventent la roue

!!L’équipe A résout un problème. Six mois plus tard, l’équipe B développe la même solution — souvent sans savoir que le travail de l’équipe A existe déjà.!! Les équipes ont rarement une vision claire de ce que construisent les autres, de ce qui existe déjà, ou de qui contacter. Et même lorsqu’elles découvrent une solution, elles peuvent la rejeter : « notre cas est différent », « leur code n’est pas adapté », « il faudrait de toute façon l’envelopper ». Parfois ces objections sont justifiées ; parfois, c’est l’orgueil, le sentiment de propriété ou le besoin de contrôle qui interviennent. Quand les équipes ne partagent pas ce qu’elles réalisent, la réutilisation n’est même plus envisagée.

Not Invented Here : pourquoi les équipes réinventent la roue

Rejeter la faute de l’autre côté du mur

Quand un incident traverse les frontières entre équipes, chaque équipe tend à examiner la défaillance depuis sa propre perspective. L’équipe A a rempli son contrat, l’équipe B a maintenu son service en marche — pourtant le client a subi une panne. Les deux équipes peuvent avoir raison sur leurs responsabilités respectives tout en passant à côté de la défaillance du système dans son ensemble. Quand chacun s’attache à prouver que sa partie fonctionnait, personne n’enquête sur la raison pour laquelle l’expérience de bout en bout a échoué. Le succès local ne garantit pas le succès global du système.

Rejeter la faute de l’autre côté du mur

La loi de Conway comme malédiction

En 1968, Melvin Conway a observé que les systèmes tendent à reproduire la structure de communication des organisations qui les construisent. Les équipes qui se coordonnent peu produisent souvent des services qui s’intègrent mal ; une réorganisation peut aussi laisser des traces dans les frontières du système. La structure organisationnelle ne détermine pas entièrement l’architecture, mais elle la contraint fortement. !!Quand les barrières de communication persistent, elles ont toutes les chances de devenir aussi des barrières dans le code.!!

La loi de Conway comme malédiction

L’organisation : concevoir le contenant

Les tensions entre équipes, les priorités conflictuelles et les frontières organisationnelles ne peuvent pas toujours être réglées par de simples équipes. Certaines questions exigent des décisions au niveau de l’organisation. !!Les organisations façonnent l’environnement dans lequel évoluent les équipes — via le leadership, la structure, les processus, les incitations et la culture. Elles doivent fixer une orientation commune, permettre la collaboration entre équipes et créer les conditions propices à de meilleures décisions d’ingénierie.!!

De la vision à l’exécution

Les personnes ont besoin de comprendre où va leur organisation et pourquoi leur travail compte. Sans vision claire, les priorités semblent arbitraires, les décisions prêtent à confusion et les ingénieurs perdent de vue le sens de leurs tâches. Une vision partagée donne une direction, du sens et la confiance nécessaire pour décider de façon autonome. À chaque niveau, il faut traduire cette vision en objectifs concrets, tout en restant à l’écoute des retours de ceux qui réalisent le travail. Quand chacun comprend l’ensemble, on ne se contente plus d’exécuter des tâches : on contribue réellement à un objectif commun.

De la vision à l’exécution

Ce que veulent vraiment les ingénieurs

Pour bâtir une organisation efficace, les dirigeants doivent comprendre ce qui motive les ingénieurs qui la font fonctionner. Avant tout, les ingénieurs veulent sentir que leur travail a un impact — qu’ils résolvent de vrais problèmes et font une différence significative. Ils ont aussi besoin d’autonomie pour décider, d’occasions d’apprendre et de progresser, de reconnaissance pour leurs contributions et d’un sentiment d’appartenance à une équipe qu’ils respectent. La rémunération et les conditions de travail comptent, mais elles ne remplacent ni un travail porteur de sens, ni la confiance, ni l’épanouissement professionnel. Une organisation ne peut pas simplement exiger la motivation ; elle doit créer les conditions dans lesquelles les gens peuvent la trouver.

Ce que veulent vraiment les ingénieurs

Daniel H. Pink

Drive: The Surprising Truth About What Motivates Us (2009). Cette slide s’appuie sur le cadre de Pink tout en l’étendant au-delà de l’autonomie, de la maîtrise et de la finalité.

Edward L. Deci et Richard M. Ryan

Self-Determination Theory: Basic Psychological Needs in Motivation, Development, and Wellness (2017). Cette slide s’inspire de la théorie de l’autodétermination, sans en être une reformulation.

La confiance plutôt que le contrôle

!!Les organisations ne peuvent pas demander aux ingénieurs de prendre des responsabilités tout en leur refusant l’autorité de décider.!! Un excès de validations, le micromanagement et la multiplication des reportings transmettent un message clair : nous ne faisons pas confiance à votre jugement. Faire confiance, c’est laisser aux ingénieurs la liberté de choisir comment atteindre leurs objectifs, dans un cadre précis et avec responsabilité sur les résultats. Ce n’est pas éliminer toute supervision, mais remplacer le contrôle superflu par de la transparence et de la responsabilisation. On ne peut pas exiger la prise d’initiative sans accorder d’autonomie.

La confiance plutôt que le contrôle

Les dirigeants doivent écouter

!!Dans les grandes organisations, l’information se filtre à mesure qu’elle remonte les échelons. Les problèmes sont minimisés, des idées se perdent, et la direction peut perdre le contact avec la réalité du terrain.!! Les managers, à chaque niveau, doivent créer des occasions d’échanges sincères — par des discussions régulières, des entretiens individuels et des retours ouverts. Écouter, c’est plus que recueillir des plaintes : cela veut dire prendre les idées au sérieux, s’assurer qu’elles vont aux bons interlocuteurs, puis faire un suivi sur la suite donnée. Si les retours disparaissent sans réponse, les gens finissent par ne plus rien dire.

Les dirigeants doivent écouter

Lever les obstacles organisationnels

Les ingénieurs devraient pouvoir se concentrer sur l’ingénierie plutôt que de naviguer dans la politique de l’organisation. Les managers doivent aider à résoudre les priorités conflictuelles, débloquer les décisions et coordonner au-delà des frontières organisationnelles. Leur rôle n’est pas d’isoler les équipes de la réalité, mais de supprimer les frictions inutiles tout en les tenant informées des décisions qui affectent leur travail. Un bon management rend la complexité organisationnelle moins visible pour ceux qui font le travail.

Lever les obstacles organisationnels

L’Inverse Conway Maneuver

!!Puisque les limites organisationnelles influencent l’architecture logicielle, elles doivent être pensées en fonction des objectifs architecturaux. La méthode « Inverse Conway Maneuver » considère le découpage des équipes comme une décision de conception.!! Vous voulez des services faiblement couplés ? Attribuez aux équipes une responsabilité claire avec des interfaces bien définies. Vous voulez une plateforme commune ? Créez une équipe chargée de la construire et de l’exploiter. Souvent, les organisations se réorganisent autour de priorités business sans tenir compte des impacts architecturaux. La structure ne garantit pas une bonne architecture, mais elle peut nettement en faciliter — ou compliquer — la réalisation.

L’Inverse Conway Maneuver

Home Team, Away Team : le périmètre contribuable

La propriété d’un service ne doit pas devenir un obstacle à la collaboration. Dans le modèle home team / away team, l’équipe propriétaire conserve la responsabilité de la production tout en facilitant la contribution des autres équipes. Des règles de contribution claires, des tests assez solides pour faire confiance aux changements extérieurs, une documentation qui abaisse le coût d’entrée et un chemin d’escalade en cas de désaccord rendent cela possible. Le changement est psychologique — de « je protège mon territoire » à « je rends mon territoire contribuable ». La direction doit légitimer le modèle, reconnaître les équipes qui accueillent les contributions externes et veiller à ce que les incidents mènent à l’apprentissage plutôt qu’au blâme.

Home Team, Away Team : le périmètre contribuable

Équipes virtuelles : abattre les murs par les personnes

Les frontières organisationnelles sont nécessaires, mais peuvent freiner la collaboration. Les équipes virtuelles les dépassent en réunissant des personnes de différentes entités autour d’un projet commun — comme une migration, une initiative plateforme ou une revue d’incident. Les membres conservent leur équipe d’origine, tout en partageant objectifs, décisions et responsabilité de livraison. Travailler ensemble crée des liens qui durent au-delà du projet. Des ingénieurs de groupes éloignés savent qui contacter et sont plus enclins à s’entraider. La direction doit légitimer ces équipes avec un mandat clair, du temps dédié et une reconnaissance équivalente à celle du travail en équipe d’origine.

Équipes virtuelles : abattre les murs par les personnes

Posséder le parcours, pas seulement le passage de relais

Quand une demande franchit les frontières entre équipes, la responsabilité peut disparaître dans les passages de relais. Chaque équipe peut accomplir sa part tandis que le problème global reste non résolu. Les organisations ont besoin d’une règle claire : quelqu’un est propriétaire de la demande du début à la résolution, même quand d’autres équipes doivent faire le travail. Cette personne coordonne, assure le suivi et tient le demandeur informé — sans devenir personnellement responsable de tout réparer. La responsabilité doit suivre le résultat, et non s’arrêter à la frontière de l’équipe.

Posséder le parcours, pas seulement le passage de relais

Les conventions réduisent la complexité organisationnelle

Quand chaque équipe choisit ses propres outils, conventions de nommage, processus de déploiement et patterns d’architecture, l’organisation devient inutilement complexe. Les ingénieurs doivent réapprendre le fonctionnement des choses à chaque fois qu’ils franchissent une frontière d’équipe. Des conventions partagées réduisent cette friction, rendent les systèmes plus prévisibles et permettent aux équipes de réutiliser connaissances et outils. Standardisez ce qui n’a pas besoin d’être différent, et préservez la liberté là où les différences créent de la valeur.

Les conventions réduisent la complexité organisationnelle

Le coût caché des manques de la plateforme

Lorsqu'une organisation néglige d'investir dans des capacités partagées — comme l'observabilité, les infrastructures en libre-service ou les outils de déploiement — cette charge retombe sur des équipes dont la mission principale est ailleurs. Ces équipes créent alors juste ce qu'il faut pour faire tourner leurs services, ce qui aboutit à des solutions fragiles et redondantes que personne ne souhaite maintenir. Cette réaction est humaine et prévisible, ce n'est pas simplement un échec d’ingénierie. Investir dans l'infrastructure partagée et les capacités de plateforme relève de la responsabilité de l'organisation ; on ne peut pas attendre des équipes qu'elles pallient ces manques de façon durable.

Le coût caché des manques de la plateforme

Paved Roads : faire de la bonne méthode la méthode facile

Les conventions seules ne suffisent pas. !!Les organisations doivent fournir des outils prêts à l’emploi, des modèles, des pipelines CI/CD, une infrastructure et des configurations de sécurité qui rendent la démarche recommandée la plus facile à suivre. Les équipes peuvent toujours choisir une autre voie si nécessaire, mais suivre la « voie pavée » doit demander moins d’efforts que de tout construire elles-mêmes.!! Les standards les plus efficaces ne s’imposent pas par la contrainte : ils s’imposent parce qu’ils facilitent le quotidien des ingénieurs.

Paved Roads : faire de la bonne méthode la méthode facile

Rendre les solutions existantes découvrables

Les équipes ne peuvent pas réutiliser ce dont elles ignorent l’existence. Les organisations doivent rendre les services, bibliothèques, plateformes et projets en cours faciles à découvrir. Les catalogues de services, la documentation interne, les démos d’ingénierie et les communautés de pratique aident les équipes à comprendre ce que les autres ont déjà construit. Avant de démarrer quelque chose de nouveau, les ingénieurs devraient pouvoir trouver les solutions existantes et les personnes qui en sont responsables. Le réemploi commence par la visibilité, pas par la technologie.

Rendre les solutions existantes découvrables

Open source interne : le réemploi par défaut

Le Not Invented Here disparaît rarement par la seule bonne volonté ; il s’affaiblit quand réutiliser est plus facile et plus sûr que reconstruire. L’open source interne crée ce chemin : les équipes mettent à disposition dans toute l’organisation des bibliothèques, outils et composants réutilisables, avec des règles de contribution, des tests et un responsable qui relit les patchs. Il transforme l’instinct tribal de protéger le travail local en un actif partagé — à condition que trouver, utiliser et contribuer en retour soient chacun plus simples que repartir de zéro. L’organisation investit alors une fois et peut réutiliser de nombreuses fois, tandis que les ingénieurs voient leur travail voyager au-delà de leur propre équipe.

Open source interne : le réemploi par défaut

Reconnaître le travail invisible

Le travail qui prévient les pannes, réduit la dette technique ou aide les autres à réussir est souvent invisible. Les managers sont particulièrement bien placés pour reconnaître ces contributions et s’assurer qu’elles comptent dans les évaluations de performance et les promotions. Quand les organisations ne récompensent que la livraison visible, les ingénieurs apprennent à privilégier ce qui se remarque plutôt que ce qui compte. Ce qui est reconnu est répété.

Reconnaître le travail invisible

Aligner les incitations sur les objectifs de l’organisation

!!Dire aux équipes de prendre de bonnes décisions ne suffit pas. Les comportements se calquent sur les incentives.!! Si les promotions récompensent seulement les fonctionnalités livrées, les ingénieurs privilégient la livraison. Si la gestion de crise est valorisée alors que la prévention passe inaperçue, l’organisation favorise les urgences au détriment de la fiabilité. Les équipes ont besoin de raisons concrètes pour investir dans ce qui sert l’organisation : réduire la dette technique, améliorer la sécurité, partager les connaissances et construire des systèmes durables. Les comportements obtenus sont ceux qui sont valorisés, pas forcément ceux qui sont prônés.

Aligner les incitations sur les objectifs de l’organisation

La culture, c’est ce que les dirigeants tolèrent et célèbrent

Des valeurs écrites ont peu de poids si le quotidien les contredit. Les employés comprennent ce qui compte vraiment en observant ce que les dirigeants récompensent, ignorent ou tolèrent. Un ingénieur senior qui ferme la porte aux contributions externes, un manager qui valorise la gestion de crise mais pas la prévention, un leader qui accepte les raccourcis pour tenir les délais : tout cela transmet un message plus fort que n’importe quelle déclaration de valeurs. Les nouveaux arrivants s’adaptent vite à ces règles tacites : ils voient vite si les questions sont bienvenues, si l’on peut débattre, et si la qualité est vraiment valorisée. La culture, ce n’est pas ce qu’une organisation affirme, mais ce que ses dirigeants tolèrent et encouragent réellement.

La culture, c’est ce que les dirigeants tolèrent et célèbrent

La culture est le refactoring le plus difficile

Changer une base de code est difficile. Changer la culture d’une organisation peut l’être davantage. Les gens portent des habitudes, des attentes et des règles non écrites apprises au fil des années. Même quand la direction annonce une nouvelle orientation, les employés continuent à se comporter selon ce qui a fonctionné par le passé. La culture ne change que lorsque de nouveaux comportements sont renforcés de façon constante — par les décisions, les promotions, la responsabilisation et les exemples du quotidien. Une nouvelle politique peut être annoncée du jour au lendemain ; une nouvelle culture doit se construire dans la durée.

La culture est le refactoring le plus difficile

Changer le système, pas les personnes

Le même ingénieur peut agir de manière très différente selon l’environnement dans lequel il travaille. La confiance favorise l’appropriation, la sécurité psychologique encourage l’honnêteté, la clarté des responsabilités renforce l’imputabilité, et des incitations alignées stimulent la collaboration. Les organisations influencent les comportements à travers les structures, procédés et cultures qu’elles mettent en place. !!Nous ne pouvons pas supprimer les limites humaines, mais nous pouvons concevoir des environnements qui les compensent. Des progrès durables nécessitent à la fois la responsabilité individuelle et des conditions qui permettent d’adopter de meilleures pratiques.!!

Changer le système, pas les personnes