> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/fr/2021/w22-prototypes-and-tracers.md).

# W22-Prototypes et balles traçantes

Dans *The Pragmatic Programmer*, j'ai découvert deux notions de réalisation de projet, le prototype et la balle traçante, utiles à notre refonte architecturale.

Le prototype ressemble à un moule avant la production : une petite démonstration avec du code jetable. Il explore un aspect précis du système final, vérifie la faisabilité et la solution. On jette ensuite l'ensemble du prototype pour ne garder que les leçons qui guideront le véritable développement. Par exemple : quel mode de compilation et de déploiement soutiendra la refonte, ou comment la gestion des dépendances améliorera la réutilisation de l'infrastructure.

Une refonte dure nécessairement plusieurs mois. Dans un environnement changeant, les interactions imprévues se multiplient : modification des workflows de l'équipe, effets sur certaines entrées de trafic métier. Le développement par balles traçantes offre une réponse fiable.

Qu'est-ce qu'une balle traçante ?

> Elle est chargée dans le chargeur en alternance avec les munitions ordinaires. Au tir, son phosphore s'enflamme et dessine une trajectoire lumineuse entre l'arme et l'impact. Si elle touche la cible, les balles ordinaires suivantes la toucheront aussi. Les soldats s'en servent pour ajuster leur visée : une méthode pragmatique qui fournit un retour immédiat dans les conditions réelles.

J'y vois une proximité avec les approches par étranglement progressif et lean. La différence essentielle est le retour en temps réel. Face à une réalisation inédite, on répète la boucle viser, tirer, observer et ajuster, pour approcher la vraie cible au fil des cycles. En pratique, balles traçantes et ordinaires alternent. Les premières définissent une trajectoire et une structure, en laissant des espaces que les collaborateurs savent remplir avec les secondes.

Dans un environnement inconnu et très changeant, combiner prototypes et balles traçantes est une bonne manière d'avancer. Le prototype joue le rôle de reconnaissance et de collecte de renseignements avant le tir. Le code traçant construit des parties du cadre final, simples mais complètes. Les réalisations ordinaires apportent ensuite la profondeur nécessaire pour atteindre la cible.

<br>
