Résumé
Les équipes qui adoptent Kiro, Claude Code ou GitHub Copilot sur un projet green field vivent souvent la même lune de miel, puis voient l’effet waouh s’estomper sprint après sprint. Je soutiens que le modèle n’y est pour rien: le contexte qu’il doit tenir grossit avec le projet, et la recherche publique montre qu’à modèle constant, la précision baisse quand le contexte s’allonge. Sans frontières, ce contexte se paie à chaque requête, en tokens, en temps de revue, en régressions et en explications répétées. L’article présente Context Budget, la méthode que j’ai mise en place sur plusieurs projets. Le budget, ce sont les tokens que l’IA consomme à chaque requête: il est dépassé dès que l’IA doit absorber plus de contexte, de données ou de règles métier que la tâche n’en demande. La méthode tient en cinq gestes: une spécification durable par bounded context; une évaluation de la trajectoire du projet à date fixe, avec l’architecte, le PO ou le BA et l’équipe; des frontières préparées dès le premier jour par des interfaces, des adapters et le modèle C4; un contexte par domaine; enfin, un refactoring porté par l’équipe: les frontières se tracent en Event Storming avec l’architecte, puis l’équipe les matérialise, assistée par l’architecte ou le tech lead. Un exemple fictif déroule le découpage: la facturation sort de Commandes et devient son propre bounded context. Avec la méthode complète, j’ai vu le développement d’une API, tests de bout en bout compris, passer de 3,5 jours à 3 heures.
Idées clés
- Ce n’est pas le modèle qui faiblit, c’est le contexte qui grossit. Les études sur les contextes longs concordent: à modèle constant, la précision baisse quand le contexte s’allonge, et une fenêtre plus large laisse entrer plus de contexte sans garantir qu’il soit mieux exploité.
- Sur un projet qui a grossi sans frontières, chaque requête relit le monde. Ce coût n’apparaît sur aucune ligne budgétaire: il se dilue dans chaque requête de chaque développeur, chaque jour, et il croît avec le projet.
- En Domain-Driven Design, un bounded context est une partie d’un grand système dotée de son propre modèle unifié; c’est aussi un contexte que l’IA peut tenir en entier. D’où le nom Context Budget: le budget est dépassé dès qu’une tâche oblige l’IA à absorber plus de contexte, de données ou de règles métier que cette tâche n’en demande. Chaque bounded context doit tenir dans ce budget, et l’IA ne voit les contextes voisins que par leur contrat.
- Pour ne payer le découpage qu’une fois, il faut l’avoir préparé. Avec des interfaces, des adapters et le modèle C4 dès le premier jour, un composant peut devenir un conteneur, puis un système, sans réécrire ceux qui l’appellent: le découpage est un déplacement, pas une réécriture.
- La trajectoire du projet s’évalue à date fixe, pas quand les symptômes apparaissent. Entre deux évaluations, quelques signaux d’alerte justifient d’avancer la suivante.
Pourquoi j’ai écrit cet article
Les équipes voient l’effet waouh du green field s’estomper à mesure que le projet grossit. Je voulais partager la méthode que j’ai mise en place sur plusieurs projets pour payer le découpage une fois plutôt qu’un contexte trop gros à chaque requête.