De nos jours, le développement assisté par IA est au centre de l’attention. De plus en plus de code est généré par l’intelligence artificielle. Au point qu’on aperçoit déjà les premiers changements, parfois profond, dans la manière de travailler.
Si on en croit la dernière étude en date du programme DORA, spécifiquement dédiée à ce domaine, ce phénomène va probablement s’accélérer, avec 1 trillion de dollars de prévision d’investissement sur les prochains années.
Cette nouvelle technologie nous promet beaucoup de choses à mais à quel prix ? Dans cette même étude, on apprend, entre autres, que les performances de livraison semblent négativement impactées.
Ne s’agirait-il pas là de l’éternel équilibre à trouver entre gains de productivité et entropie logicielle ?
Comment les équipes peuvent-elles intégrer l’IA dans leur développement ? Nous avons organisé un kata pour le découvrir.
Chez Wakam, nous avons réuni l’ensemble de nos corps de métier tech pour une expérience immersive de développement assisté par IA. Voici ce que nous avons appris…
Pourquoi on a fait ça ?
Face à l’évolution rapide des pratiques de développement assisté par IA, nous avons constaté une disparité d’adoption au sein de nos équipes. Certains collaborateurs s’étaient déjà approprié ces nouvelles méthodes, d’autres pas du tout.
Notre objectif était triple :
- Mettre tout le monde sur un pied d’égalité pour explorer ensemble les possibilités
- Évaluer cette approche par rapport à nos outils actuels de low-code/no-code
- Ne pas rester à quai face à une tendance qui transforme rapidement notre métier
Qu’est-ce qu’on a fait ?
Nous avons organisé un kata de développement dont le but était de (re)créer une application pour nos réassureurs et gestionnaires de traités, permettant de consulter et administrer les bilans de performances et relevés de compte.
La règle principale ? 100% du code devait être généré par IA, avec seulement des micro-ajustements humains autorisés.
Chaque équipe a adopté une approche différente :
- Certaines ont investi du temps dans la configuration de leur environnement et de leur agent IA, privilégiant le contrôle, au détriment du fonctionnel à court terme
- Inversement, d’autres ont soumis le brief entier d’un seul coup à l’IA
Les technologies utilisées étaient principalement Cursor avec Claude 3.7 Sonnet comme LLM.
Qu’est-ce qu’on a obtenu ?
Les résultats ont été impressionnants :
- 3 équipes ont réussi à implémenter toutes les fonctionnalités de base plus quelques bonus
- 100% du code a été généré par IA comme prévu
- L’exercice a provoqué beaucoup d’émulation et d’engouement
Qu’est-ce qu’on en conclut ?
Cette expérience nous a révélé deux facettes du développement assisté par IA :
D’un côté, nous avons été impressionnés par :
- La rapidité de développement
- Le peu d’effort nécessaire pour obtenir une application fonctionnelle
De l’autre, nous avons observé un phénomène d’entropie accélérée, identifié par:
- Une tendance des équipes à perdre le fil de ce qui était produit
- Une perte rapide de contrôle sur le code et l’architecture
- Une maintenabilité qui se dégrade rapidement
- Des choix d’architecture parfois très discutables
Comment on avance avec ça ?
Nous avons identifié deux approches possibles pour intégrer l’IA dans notre développement :
1️⃣ Garder le contrôle sur ce qui est produit :
- Procéder par petites itérations
- Nécessite une forte culture Agile et d’excellence (Craft, DevOps)…
- … et faire appliquer les bonnes pratiques à l’agent de code
2️⃣ Donner une liberté quasi totale à l’assistant, à l’instar du “vibe coding”:
- Se concentrer uniquement sur les spécifications
- Gagner en vélocité à court terme
- Faire avec un risque accru de régressions
- S’appuyer sur des mécaniques de rollback de code
- Tenir compte des limitations techniques (taille de contexte par exemple)
Notre conviction est qu’il faut rester constamment en mouvement sur ce sujet, en équilibrant expérimentation et prudence, pour ne pas subir mais plutôt piloter cette transformation de nos métiers.
Ce kata n’est qu’une première étape. Nous prévoyons d’organiser régulièrement ce type d’exercices pour suivre l’évolution des outils et des pratiques, et ainsi rester à la page de ce que le développement assisté par IA peut offrir. Nous mettons aussi l’accent sur les formations et les conférences pour compléter le dispositif.