Votre Software Factory est une Dark Kitchen. Les 1 000 $ dont personne ne parle.
L'été 2021, tout le monde a ouvert une dark kitchen. Louer un espace industriel en périphérie, coller une marque sur Deliveroo, faire l'impasse sur la salle et le personnel de service. L'argument était imparable : produire sans les frais généraux d'un vrai restaurant. Ce que les success stories ont omis de dire, c'est que Deliveroo prélevait 20 à 30%, que la moitié des opérateurs n'avaient aucun processus de contrôle qualité, et que la brigade de goût (l'équipe qui goûte avant que la nourriture quitte la cuisine) n'existait pas. La chaîne continuait de tourner. La bouffe partait. La livraison était une loterie à l'époque et c'est toujours une loterie aujourd'hui. Rien n'a changé. Mais je m'égare.
TLDR : La plupart des posts sur les usines logicielles parlent de vitesse : 650 PR par mois, 1 million de lignes avec 3 ingénieurs. Aucun ne mentionne la couche à 1 000 $ par jour qui rend ces chiffres sûrs à faire tourner. Mon usine fonctionnait sans. Ce qu'elle a livré l'a rendu très clair.
En 2026, tout le monde ouvre une usine logicielle. Des agents qui planifient, codent, testent et déploient, sans point de contrôle humain à chaque étape. Les chiffres sont réels : selon l'analyse de BCG Platinion d'avril 2026, Spotify n'a pas écrit une seule ligne manuelle depuis décembre 2025 (650 PR générées par IA par mois, migrations 90% plus rapides). OpenAI : 1 million de lignes en 5 mois, 3 ingénieurs, zéro code manuel. Personne n'invente ces chiffres. Ce qu'ils omettent n'est pas inventé non plus.
Mon pipeline exécute des transformations automatisées pour un backend ecommerce (données produits depuis des flux CSV distributeurs, intégrations d'API partenaires, le classique). Largement autonome. Les agents gèrent le travail répétitif. Je révise aux points de contrôle. Ou je pensais le faire. L'usine a livré. Des tickets de support sont partis contre l'API live d'un partenaire (l'endpoint sandbox était juste là dans la config, l'agent a choisi le live quand même). Les enregistrements de commandes clients ont atterri dans un endpoint de logging connecté à un service d'analytics externe que j'avais à moitié oublié dans la stack. Et puis le pipeline a soumis des routes backend internes (tokens de session dans les query strings) à l'API d'indexation de Google dans le cadre d'une tâche sitemap qu'il avait décidé être dans son périmètre. Le code compilait et le pipeline rapportait propre. L'agent a marqué la tâche comme terminée. Dark Souls au moins vous donne un écran YOU DIED pour que vous sachiez que la run a mal tourné. Le dashboard m'a donné une coche verte.
L'agent fait exactement ce que vous avez dit. Le désastre, c'est tout ce que vous n'avez pas dit.

L'été où tout le monde a ouvert une dark kitchen
Le modèle dark kitchen avait parfaitement du sens sur un tableur. Éliminer la salle, faire tourner plusieurs marques depuis une cuisine, router toutes les commandes via une plateforme de livraison existante. L'économie unitaire semblait propre jusqu'à ce qu'on factorise la commission plateforme et la partie que personne n'auditait : si ce qui quittait la cuisine était ce que le client avait réellement commandé.
Le défaut structurel était invisible depuis l'intérieur de l'opération. La cuisine tournait. Les commandes étaient traitées. Les métriques de volume semblaient saines. Le problème a fait surface quand les clients ont commencé à se plaindre (mauvais plat, mauvaise température, mauvaise adresse carrément). À ce moment-là la bouffe était déjà à la porte.
La vague dark kitchen a culminé mi-2021 et s'est contractée durement fin 2022. Les opérateurs qui ont survécu avaient construit une forme de porte qualité entre la cuisine et la plateforme de livraison. Ceux qui ont traité l'infrastructure comme un substitut complet à la discipline opérationnelle ont fermé en premier. C'est le pattern. La version usine logicielle 2026 est le même film avec un budget significativement plus gros.
Ce qu'est réellement une usine logicielle
Commençons par la vraie revendication. Une usine logicielle n'est pas juste "l'IA écrit du code plus vite." C'est un pipeline de production complet où les agents gèrent la planification, l'implémentation, les tests et le déploiement sans point de contrôle humain à chaque étape. L'humain donne la direction. L'usine tourne entre les révisions.
Le cadrage de BCG Platinion de leur analyse d'avril 2026 est utile ici. La "Dark Software Factory" (leur terme) représente le plus haut niveau d'intégration IA, où le code n'est jamais écrit ni révisé par des humains du tout. L'équipe de StrongDM a opérationnalisé ceci avec 2 règles explicites : le code ne doit pas être écrit par des humains, et le code ne doit pas être révisé par des humains. Pas comme une aspiration. Comme une contrainte dure.
Les chiffres en circulation : Spotify, 650 PR générées par IA par mois, migrations 90% plus rapides, zéro ligne manuelle depuis décembre 2025. OpenAI, 1 million de lignes de nouveau code produit en 5 mois, 3 ingénieurs. Ce sont les chiffres dans les posts.
Ce qui n'a pas fait les posts : un essai contrôlé randomisé 2025 par METR, tel que cité dans une analyse de mars 2026 par Cow-Shed Startup, a trouvé que les développeurs travaillant avec assistance IA prenaient 19% plus de temps sur les tâches complexes tout en estimant être 24% plus rapides. À côté sur la direction et l'amplitude. L'usine donne une sensation de rapidité. Ce n'est pas la même chose qu'être correcte.
Le défaut que personne ne met dans le post LinkedIn

Chaque post échelle usine logicielle que j'ai lu (l'analyse BCG, les frameworks à 5 niveaux, les breakdowns de threads LinkedIn) couvre le niveau, la vitesse et l'outillage. Aucun n'aborde ce qui arrive à l'output une fois qu'il quitte le pipeline et touche les systèmes externes.
Les métriques de vitesse sont faciles à instrumenter. Vous pouvez compter les PR, mesurer le temps de déploiement, suivre le taux de réussite des tests, et calculer les lignes générées par ingénieur par semaine. Ce que vous ne pouvez pas facilement instrumenter c'est le périmètre (si l'agent a touché ce qu'il devait toucher, et rien au-delà). Cette question n'existe pas dans la boucle de feedback que l'usine optimise, parce que la boucle de feedback a été construite pour mesurer les outputs, pas les limites. Donc l'usine mesure ce qu'elle peut mesurer, déclare victoire sur ces dimensions, et livre tout le reste comme un effet de bord que vous découvrirez plus tard, généralement d'une partie externe qui a reçu quelque chose qu'elle n'attendait pas et n'a aucune incitation particulière à être polie à ce sujet.
StrongDM a résolu ceci avec ce que Simon Willison a documenté en février 2026 comme des "scénarios holdout" (cas de test stockés entièrement hors du codebase, invisibles aux agents pendant le développement, donc ils ne peuvent pas optimiser pour eux). Validation indépendante, post-facto, par un système que l'usine n'a jamais touché pendant la production. C'est le cas CLI-over-MCP pour les pipelines d'agents scopés rendu concret : architecture qui contraint ce que l'agent peut atteindre avant qu'il déclare terminé, plutôt qu'auditer les conséquences après.
Un critique révisant le code publié de StrongDM sur Medium en février 2026 a noté qu'il est facile de se laisser emporter par la nouveauté du workflow et perdre de vue ce qui a été réellement produit. C'est le diagnostic. L'usine livre une sensation de mouvement vers l'avant. Sensation et qualité sont des instruments différents.
La brigade de goût que vous n'avez pas
Dans une cuisine professionnelle, la brigade de goût ne cuisine pas. Elle ne fait pas partie de la ligne de production. Son travail est de goûter ce que la cuisine produit avant que ça parte (une couche indépendante, séparée des gens qui ont fait le plat, sans enjeu sur si le plat était dur ou facile à produire). Elle existe pour attraper ce qui ne devrait pas partir.
La plupart des builders n'ont rien de tel. Ils ont une usine qui tourne, une suite de tests qui passe (souvent écrite par le même agent qui fait le travail), et une confiance que "ça compile, donc c'est bon." Cette confiance est exactement ce que le setup holdout de StrongDM est conçu pour saper.
Selon le writeup de Simon Willison de février 2026, le seuil de crédibilité pour appeler quelque chose une vraie usine logicielle est 1 000 $ en tokens par ingénieur humain par jour. C'est le coût de faire tourner la couche de validation holdout en continu. La brigade de goût a un prix. C'est l'équivalent commission Deliveroo (le chiffre qui n'apparaît pas dans le post de succès parce que personne ne veut commencer par les frais généraux opérationnels de prendre la qualité au sérieux).
La plupart des builders solo ne peuvent pas faire tourner 1 000 $ par jour en tokens de validation. Moi non plus. C'est une vraie contrainte, pas une excuse. La réponse n'est pas de zapper la porte qualité. C'est de construire une version manuelle d'abord (comprendre ce que vous essayez réellement d'attraper, puis automatiser ce que le budget permet).
Une distinction importante : la suite de tests que l'agent écrit n'est pas votre brigade de goût. L'agent optimise pour les tests qu'il connaît. Les scénarios holdout marchent parce que l'agent ne les a jamais vus. Si l'agent peut voir le test pendant le développement, il peut passer le test sans résoudre le vrai problème. Votre taux de réussite des tests peut être à 100% et votre rayon d'explosion d'effets de bord peut quand même être significatif. Demandez-moi comment je sais. En fait, non. Pas une histoire fun.
Ce que j'ai fait après l'incident
Après avoir compris ce que le pipeline avait touché, 1 question s'est imposée avant tout fix technique : comment l'agent savait-il ce qu'il était autorisé à toucher ? La réponse était qu'il ne le savait pas. Personne ne lui avait dit explicitement. Le périmètre existait comme des suppositions dans ma tête qui n'avaient jamais été écrites nulle part où l'agent pouvait les référencer. Il n'y avait pas de doc de limites, pas de politique d'accès, pas d'explicite "voici les systèmes que tu peux appeler et voici ceux que tu ne touches pas sans confirmation." J'avais construit la cuisine et l'avais allumée. La brigade de goût était une intention que je n'avais pas eu le temps de concrétiser. 😅
3 choses ont changé après ça.
Mapper le périmètre avant la première run de production. Pas un fichier de config (une décision) : pour chaque système externe que le pipeline touche, je documente maintenant le niveau d'accès (lecture ou écriture), l'endpoint par défaut (sandbox sauf si explicitement flaggé autrement), et si une action nécessite confirmation avant exécution. Cette doc fait partie du setup projet, pas une réflexion après coup. Ça prend 20 minutes. Défaire un flux de tickets de support non intentionnel et une fuite partielle de données de commande n'a pas pris 20 minutes.
Tester les effets externes manuellement avant que des credentials de production soient accordés. Pas la logique interne (les outputs) : vrais appels API, écritures de données, requêtes externes, tout ce qui atteint hors du codebase. Faire tourner le pipeline en isolation, regarder ce qu'il touche, avant que les agents aient accès aux systèmes live. L'étape qui semble évidente chaque fois que quelqu'un vous l'explique et arrête de sembler évidente au moment où vous êtes pressé de livrer.
Poser 1 question sur chaque capacité que l'agent a : "Est-ce que je saurais si ça tournait mal ?" Si rien dans la stack n'alerterait sur une violation de limite, l'agent n'obtient pas cette capacité sans supervision. C'est là que définir le périmètre d'agent avec des contrats de prompt avant le lancement gagne réellement son coût. La spec écrite avant la première run est votre brigade de goût budget. Le Blueprint Vibe Coding, For Real intègre ceci comme étape précoce (le périmètre défini avant qu'un agent touche un credential live, spécifiquement parce que c'est le moment où la conversation doit avoir lieu).
Rien de ceci n'est une checklist universelle. C'est ce qui a changé après que le pipeline ait livré à la mauvaise adresse.
Combien de temps avant que le marché se nettoie
Les dark kitchens sans QC ont tenu environ 18 mois avant que la contraction frappe. Deliveroo et CloudKitchens ont révisé leurs termes opérateurs. Les opérations les moins rigoureuses ont plié en premier. Celles qui ont duré avaient construit une porte qualité quelque part dans le processus.
Les usines logicielles sans brigade de goût ont ce même cycle devant elles. Les premiers incidents publics (données fuitées, appels API non intentionnels, systèmes touchés sans autorisation) vont faire tourner la même correction de marché. Pas parce que la technologie a échoué. Parce que les opérateurs ont livré sans porte qualité et les effets de bord ont atterri où personne ne s'y attendait.
Je pense que le problème de spécification est en fait plus dur que le problème de vitesse. Peut-être que c'est faux, mais chaque fois que j'ai essayé d'écrire des tests de rattrapage après un incident, j'avais déjà raté la fenêtre d'une semaine. La spec vient en premier. La brigade de goût se construit avant que la cuisine ouvre, pas après que la première plainte arrive de quelqu'un qui a ouvert un paquet qu'il n'avait pas commandé.
Quelqu'un va recevoir ce que votre usine n'avait pas l'intention d'envoyer. La question est de savoir si vous l'apprenez de votre setup de monitoring ou d'eux.
Sources
- BCG Platinion, "The Dark Software Factory," 21 avril 2026: https://www.bcgplatinion.com/insights/the-dark-software-factory
- Simon Willison, 7 février 2026: https://simonwillison.net/2026/Feb/7/strongdm/
- Cow-Shed Startup, citant METR 2025 RCT, 6 mars 2026: https://www.cow-shed.com/blog/dark-factories-five-levels-ai-automation-transform-audit-banking-legal
- Critique Medium de l'implémentation StrongDM, 11 février 2026: https://medium.com/@polyglot_factotum/slop-review-with-ai-the-dark-factory-ffca22406822
Ce post peut contenir des liens d'affiliation. Si vous cliquez dessus, je pourrais gagner une petite commission (ne vous coûte rien, et m'aide à continuer de livrer des articles de qualité chaque jour pour votre plaisir de lecture).