IA, TDD et pair programming - kata game of life

OĂč je fais un kata game of life en TDD et en pair programming avec l'IA

Le week-end du 10 novembre, c'Ă©tait Global Day Of Code Retreat. Impossible pour moi d’y participer : j’ai beaucoup trop d’enfants et d’occupations 😅.

Mais le 11 novembre, j’avais un peu de temps, et j’avais envie d’expĂ©rimenter un truc qui me trottait en tĂȘte depuis un moment : faire du pair programming en TDD avec une IA gĂ©nĂ©rative.

💡 Setup

  • Kata Game of Life
  • Cursor + Claude-Sonnet 3.5 (avec un abonnement pro, les quotas gratuits n’ont pas tenu longtemps)
  • Python
  • Contraintes strictes : je pilote, l’IA code. Objectif : respecter au maximum les principes TDD (baby steps, fake it, refactoring systĂ©matique).

💡 DĂ©roulĂ©
AprĂšs avoir prĂ©parĂ© l’environnement Python, j’ai dĂ©marrĂ© avec Composer pour analyser le README et poser les contraintes. On a dĂ©fini une TODO list, puis attaquĂ© les premiers items en TDD.

💡 Retour d’expĂ©rience
✅ Le rĂ©sultat est plutĂŽt bon. On est allĂ©s au bout du kata et le code est fonctionnel.
✅ L’IA force Ă  ĂȘtre ultra-clair dans nos exigences. Il faut analyser, expliciter, reformuler
 et tout ça par Ă©crit. Un excellent exercice.
✅ Grosse nĂ©cessitĂ© de cadrage. L’IA a tendance Ă  partir en roue libre et Ă  proposer des solutions fonctionnelles mais mĂ©diocres. Sans recadrage constant (baby steps, petits tests, implĂ©mentations minimales), ça devient vite du spaghetti code.
✅ QualitĂ© du code : ça dĂ©pend
 Si on ne sait pas oĂč on va en termes d’architecture et de maintenabilitĂ©, le code dĂ©gĂ©nĂšre vite. Sans refactoring systĂ©matique, on accumule rapidement des dĂ©fauts qui rendent le tout ingĂ©rable (mĂȘme pour l’IA).
✅ Elle ne sait pas toujours rĂ©soudre ses propres bugs. À plusieurs reprises, elle s’est enfermĂ©e dans une boucle oĂč elle corrigeait un test
 sans vraiment le corriger. Il a fallu intervenir manuellement pour en sortir.
✅ Erreurs basiques. Import manquants, rĂ©introduction de bugs prĂ©cĂ©demment corrigĂ©s
 des petites fautes qui peuvent ralentir la progression.
✅ ProductivitĂ© ? Difficile Ă  dire si j’aurais Ă©tĂ© plus rapide seul. Mais il y a une vraie plus-value Ă  dĂ©lĂ©guer Ă  l’IA tout ce qui est “boring” ou rĂ©pĂ©titif, pour se concentrer sur le fond : les bons test cases, l’amĂ©lioration du design


💡 Conclusion

Ce n'est qu'un kata, et un kata est assez peu représentatif de notre quotidien.

Mais j'ai apprécié l'exercice, et avec mon expérience, je me sens en contrÎle. L'outil m'aide, il ne me domine pas.

Mais je sens aussi que cela pourrait ĂȘtre assez facilement l'inverse. Comment gĂ©rer un contexte technique que je ne maĂźtrise pas ? Un contexte mĂ©tier qui n'est pas clair pour moi ? Si je n'ai pas d'idĂ©es claires sur l'architecture ou les exigences de qualitĂ© sur le code produit ?


Publié sur Linkedin https://www.linkedin.com/posts/remihuguet_quand-je-fais-un-kata-en-pair-programming-activity-7295705764273287169-f8e7