Vol. 0 · № 03 · Un atelier d'architectureAn architecture workshop

YAGNI vs le point de non-retourYAGNI vs the point of no return

Le numéro qui referme le triptyque fondateur. Toutes les décisions ne se valent pas : certaines portes se rouvrent, d'autres se murent à mesure que le monde s'appuie dessus. Savoir laquelle on franchit décide combien de réflexion elle mérite.The issue that closes the founding triptych. Not all decisions are equal: some doors reopen, others wall shut as the world leans on them. Knowing which one you're walking through decides how much thought it deserves.

AudienceAudience
Dev à l'aise en code, qui veut raisonner architectureDev fluent in code, ready to reason about architecture
Format
Self-paced
ChapitresChapters
5
Date
Juin 2026June 2026
≈ 18 min●○○○MéthodeRéversibilitéTradeoff
SommaireContents ·
№ 01CadrageFraming3 min

Toutes les décisions ne se valent pas. Certaines portes se rouvrent ; d'autres non.Not all decisions are equal. Some doors reopen; others don't.

Les deux numéros précédents poussaient à isoler ce qui change, mais sans payer un loyer pour rien. Reste une question : quand décider, et quand attendre ? La réponse tient à une seule propriété — la réversibilité. Une porte à deux sens se franchit vite : si on s'est trompé, on revient. Une porte à sens unique, une fois franchie, se paie en migration, en clients cassés, en données à réécrire.The two previous issues pushed you to isolate what changes, but without paying rent for nothing. One question remains: when to decide, and when to wait? The answer hinges on a single property — reversibility. A two-way door is quick to walk through: if you were wrong, you come back. A one-way door, once crossed, is paid in migrations, broken clients, data to rewrite.

Classe la décision avant de la prendreClassify the decision before making it
Porte à deux sens · réversibleTwo-way door · reversible
  • Colonne JSON ou table dédiéeJSON column or dedicated table
  • Nom d'une variable interneAn internal variable name
  • Librairie de validationValidation library
→ décide vite, corrige plus tard→ decide fast, fix later
Porte à sens unique · irréversibleOne-way door · irreversible
  • Format d'un événement publicA public event format
  • Schéma de clé primaire / idsPrimary-key / id scheme
  • Contrat d'API exposé à des tiersAPI contract exposed to third parties
→ rassemble l'information, puis fige→ gather the information, then freeze
Le réflexe du numéroThe issue's reflex

« Ce choix est-il réversible — et sinon, ai-je assez d'information pour le figer ? » La plupart des décisions sont des portes à deux sens : les traiter comme graves, c'est se paralyser. Les rares portes à sens unique, elles, méritent tout le budget de réflexion.'Is this choice reversible — and if not, do I have enough information to freeze it?' Most decisions are two-way doors: treating them as grave means paralysis. The rare one-way doors, though, deserve the whole deliberation budget.

Pourquoi ce numéro referme le triptyque.Why this issue closes the triptych.

Vol 0 #1 dit où couper, #2 dit ce qu'une coupe coûte. Celui-ci dit quand. Les trois forment le socle de la méthode : identifier l'axe, peser le loyer, et trancher selon la réversibilité. Le volume ne s'arrête pas là — le #4 dira ce qu'on garde en coupant, le #5 quelle posture tenir face à ceux qui décident. Mais les patterns de la série, eux, ne se convoquent qu'une fois ces trois questions posées.Vol 0 #1 says where to cut, #2 says what a cut costs. This one says when. The three form the bedrock of the method: identify the axis, weigh the rent, and decide by reversibility. The volume doesn't stop there — #4 will say what you keep while cutting, #5 what stance to hold with the people who decide. But the series' patterns are only summoned once those three questions are settled.

№ 02La douleurThe pain4 min

Deux erreurs symétriques : figer ce qui se défait, bâcler ce qui se grave.Two symmetric errors: freezing what undoes easily, rushing what gets carved.

Confondre les deux types de portes coûte cher, dans les deux sens. Traiter une décision réversible comme grave, c'est la paralysie : on sur-conçoit, on réunit trois fois, on abstrait « au cas où » — pour un choix qu'on aurait corrigé en cinq minutes. Traiter une décision irréversible comme anodine, c'est pire : on grave un format public à la légère, et le jour où il faut le changer, tous les clients cassent en même temps.Confusing the two kinds of doors is costly, both ways. Treating a reversible decision as grave is paralysis: you over-design, hold three meetings, abstract 'just in case' — for a choice you'd have fixed in five minutes. Treating an irreversible decision as trivial is worse: you carve a public format casually, and the day it must change, every client breaks at once.

Erreur A — la paralysieError A — paralysis

On traite une porte à deux sens comme une porte à sens unique. Résultat : une interface, une factory et un fichier de config pour un choix interne qu'on pouvait changer par un find-and-replace. C'est exactement le loyer du numéro précédent, payé par peur de se tromper.You treat a two-way door as a one-way door. Result: an interface, a factory, and a config file for an internal choice you could change with a find-and-replace. It's exactly the previous issue's rent, paid out of fear of being wrong.

Erreur B — le murError B — the wall

On traite une porte à sens unique comme à deux sens. Le format d'événement part en prod sans version, des partenaires s'y branchent, des millions de lignes l'adoptent. Le changer devient un projet de migration de six mois — ou impossible.You treat a one-way door as two-way. The event format ships without a version, partners hook into it, millions of rows adopt it. Changing it becomes a six-month migration project — or impossible.

Le diagnostic.The diagnosis.

L'erreur n'est jamais « trop » ou « pas assez » de rigueur dans l'absolu — c'est la rigueur appliquée au mauvais type de porte. La paralysie et le mur sont la même faute : ne pas avoir classé la décision avant de la prendre. La réversibilité n'est pas un détail d'implémentation ; c'est ce qui détermine combien de réflexion une décision mérite.The error is never 'too much' or 'too little' rigor in the absolute — it's rigor applied to the wrong kind of door. Paralysis and the wall are the same mistake: failing to classify the decision before making it. Reversibility isn't an implementation detail; it's what determines how much thought a decision deserves.

№ 03Le point de non-retourThe point of no return5 min

Le coût de revenir en arrière monte avec l'adoption. La fenêtre se ferme.The cost to revert rises with adoption. The window closes.

Une décision n'est pas « réversible » ou « irréversible » dans l'absolu : elle se réversibilise de moins en moins à mesure que d'autres choses s'appuient dessus. Le jour 0, tout se défait. Puis les consommateurs, les lignes en base, les partenaires s'accumulent — et le coût de revenir grimpe. Le point de non-retour, c'est l'instant où ce coût dépasse ce qu'on est prêt à payer. L'animation fait avancer le temps.A decision isn't 'reversible' or 'irreversible' in the absolute: it grows less reversible as more things lean on it. On day 0, everything undoes. Then consumers, rows, partners pile up — and the cost to revert climbs. The point of no return is the moment that cost exceeds what you're willing to pay. The animation advances time.

Animation — coût de revenir en arrière, dans le tempsAnimation — cost to revert, over time
Jour 0 — la décision est priseDay 0 — the decision is made
0 consommateur · 0 ligne0 consumer · 0 row
Choix interne · porte à deux sensInternal choice · two-way doorcoût de revenircost to revert
non-retourno return
Contrat public · porte à sens uniquePublic contract · one-way doorcoût de revenircost to revert
non-retourno return
Au départ, tout est réversible : rien ni personne ne dépend encore du choix. Les deux portes sont grandes ouvertes.At first, everything is reversible: nothing and no one depends on the choice yet. Both doors stand wide open.

1 / 5
Le moment juste pour figerThe right moment to freeze

Le « dernier moment responsable » : on retarde une décision irréversible jusqu'au point où attendre encore coûterait plus que de se tromper. Avant : on manque d'information. Après : la porte se ferme. Le but n'est pas de décider tôt, mais de décider quand l'information est maximale et la porte encore ouverte.The "last responsible moment": you delay an irreversible decision until waiting longer would cost more than being wrong. Before: you lack information. After: the door closes. The goal isn't to decide early, but to decide when information is highest and the door still open.

Le motif transférable.The transferable pattern.

Avant toute décision structurante, trace mentalement cette courbe : qui va s'appuyer dessus, et à quelle vitesse ? Si la courbe reste plate, applique YAGNI sans remords. Si elle grimpe vite, c'est une porte à sens unique : ralentis et rassemble l'information pendant qu'elle est encore ouverte.Before any structural decision, mentally trace this curve: who will lean on it, and how fast? If the curve stays flat, apply YAGNI without remorse. If it climbs fast, it's a one-way door: slow down and gather information while it's still open.

№ 04Le piègeThe trap4 min

Mettre l'effort là où la porte se ferme — pas l'inverse.Put the effort where the door shuts — not the reverse.

Les deux extraits font les mêmes deux choix : un événement public (porte à sens unique) et un calcul interne (porte à deux sens). La version juste investit sur l'irréversible — versionné, additif, des champs nommés — et garde le réversible trivial. La version fautive fait l'exact contraire : elle bâcle le contrat qu'elle ne pourra plus changer, et sur-conçoit le détail qu'un find-and-replace corrige. Bascule le toggle.Both snippets make the same two choices: a public event (one-way door) and an internal calculation (two-way door). The right version invests in the irreversible — versioned, additive, named fields — and keeps the reversible trivial. The wrong version does the exact opposite: it rushes the contract it can never change, and over-designs the detail a find-and-replace fixes. Flip the toggle.

# porte à SENS UNIQUE (événement public) → conçue pour évoluer
publish("order.placed", {
    "version": 2,                 # ① versionné dès le jour 0
    "order_id": id,
    "total_cents": cents,         # ② champ nommé, jamais positionnel
    # on n'enlève jamais un champ : on en AJOUTE
})

# porte à DEUX SENS (choix interne) → restée simple, zéro cérémonie
tax = total_cents * TAX_RATE      # un find-and-replace si ça change
Pourquoi c'est justeWhy it's right

L'événement porte un numéro de version et n'évolue que par ajout : un consommateur écrit hier continue de lire demain. La porte à sens unique reste franchissable parce qu'on l'a conçue pour. Et le calcul interne, lui, reste une ligne — pas de factory, pas d'interface : c'est une porte à deux sens, on la changera le jour où un deuxième cas existe vraiment.The event carries a version number and evolves by addition only: a consumer written yesterday keeps reading tomorrow. The one-way door stays walkable because it was designed to. And the internal calculation stays one line — no factory, no interface: it's a two-way door, you'll change it the day a second case actually exists.

La règle qui tranche.The rule that settles it.

L'effort de conception suit la réversibilité, pas la taille du code. Sur une porte à sens unique, paie d'avance : versionne, rends additif, documente le contrat. Sur une porte à deux sens, fais le plus simple qui marche et passe à la suite — tu corrigeras en cinq minutes si besoin. Investir là où ça ne se reprend pas, voyager léger partout ailleurs.Design effort follows reversibility, not code size. On a one-way door, pay up front: version it, make it additive, document the contract. On a two-way door, do the simplest thing that works and move on — you'll fix it in five minutes if needed. Invest where there's no take-back, travel light everywhere else.

№ 05Bilan & éditoWrap-up & editorial2 min

Décider vite ce qui se défait, attendre sur ce qui se grave.Decide fast what undoes, wait on what gets carved.

Deux portes, deux régimes de décisionTwo doors, two decision regimes
Porte à deux sensTwo-way doorPorte à sens uniqueOne-way door
Coût de revenirCost to revertfaible, reste platlow, stays flatmonte avec l'adoptionrises with adoption
ExempleExamplenom de variable, lib, tablevariable name, lib, tableformat d'événement, clé primaire, APIevent format, primary key, API
Quand déciderWhen to decidetout de suiteright awayau dernier moment responsableat the last responsible moment
Effort de conceptionDesign effortle minimum qui marchethe minimum that worksversionner, rendre additifversion it, make it additive
La fauteThe mistakela paralysie (sur-concevoir)paralysis (over-design)le mur (bâcler)the wall (rush it)

Fige maintenant quand…Freeze now when…

  • la porte est à sens unique ET l'information ne s'améliorera plus en attendant — décider plus tard ne coûterait que de l'adoption en plus.the door is one-way AND the information won't improve by waiting — deciding later would only cost more adoption.
  • d'autres équipes ou des tiers sont sur le point de s'y brancher : la fenêtre se referme, on documente le contrat avant qu'elle ne claque.other teams or third parties are about to hook in: the window is closing, document the contract before it slams.

Diffère quand…Defer when…

  • la porte est à deux sens : décide vite, le pire cas est un find-and-replace. C'est YAGNI dans sa version saine.the door is two-way: decide fast, the worst case is a find-and-replace. That's YAGNI in its healthy form.
  • la porte est à sens unique mais l'information manque encore : attends le dernier moment responsable, garde l'option ouverte le plus longtemps possible.the door is one-way but information is still missing: wait for the last responsible moment, keep the option open as long as possible.

Mot de l'éditeurFrom the editor

Ce numéro referme le triptyque fondateur parce qu'il réconcilie les deux précédents. Le #1 disait : isole l'axe qui va changer. Le #2 répondait : mais chaque isolation a un loyer, n'en paie pas pour rien. La tension entre les deux se résout ici : YAGNI a presque toujours raison parce que la plupart des décisions sont des portes à deux sens — on les corrigera. Le travail de l'architecte n'est pas d'anticiper tout, c'est de repérer les rares portes à sens unique et de leur donner, à elles seules, tout le soin.This issue closes the founding triptych because it reconciles the two before it. #1 said: isolate the axis that will change. #2 answered: but every isolation has rent, don't pay for nothing. The tension between them resolves here: YAGNI is almost always right because most decisions are two-way doors — you'll fix them. The architect's job isn't to anticipate everything, it's to spot the rare one-way doors and give those, and only those, the full care.

« Réversible ou non ? » est la première question, pas la dernière. Pose-la avant de choisir un pattern : elle décide à elle seule combien de réflexion le choix mérite.'Reversible or not?' is the first question, not the last. Ask it before picking a pattern: it alone decides how much thought the choice deserves.

Les voisins que ce numéro débloqueThe neighbors this issue unlocks

  • Portes à deux sens / sens unique (Bezos)Two-way / one-way doors (Bezos) — le cadre d'origine : les décisions réversibles se prennent vite et bas dans l'organisation ; les irréversibles, lentement et avec soin.the original frame: reversible decisions are made fast and low in the org; irreversible ones, slowly and with care.
  • Dernier moment responsable (Lean)Last responsible moment (Lean) — retarder une décision irréversible jusqu'au point où attendre coûte plus que se tromper.delaying an irreversible decision until waiting costs more than being wrong.
  • Réversibilité (Fowler)Reversibility (Fowler) — « si tu peux défaire facilement une décision, ce n'est plus une décision d'architecture » : rendre les choix réversibles dilue le risque.'if you can easily reverse a decision, it's no longer an architecture decision': making choices reversible dilutes risk.
  • Le couplage (Vol 1)Coupling (Vol 1) — ce qui rend une porte à sens unique, c'est le nombre de choses qui dépendent d'elle. Un volume entier attaque cette racine — qui dépend de qui.what makes a door one-way is the number of things that depend on it. A whole volume attacks that root — who depends on whom.