Gen-e2_Logo-2

24 Février, 2025

Nous sommes parvenus à faire ce que beaucoup pensaient être un futur à horizon encore à 2 ou 3 ans : livrer des projets logiciels 2 à 5 fois plus vite que les approches traditionnelles. Nous y parvenons en tirant partie de l'IA pour générer près de 95% du code, de la documentation, des diagrammes d'architecture, de l'infrastructure en tant que code, ... en bref la description complète d’un produit digital, tout en élevant significativement le niveau de qualité sur l’ensemble de ses dimensions.

Découvrez notre méthodologie Gen-e2 (Generative AI Enhanced Engineering).

De nouveaux rituels pour un alignement renforcé

Dans l'un de nos bureaux, notre équipe est réunie autour d'un grand écran pour une session de "AI mob programming". Pas  de saisie frénétique sur le clavier, ni de scrolling interminable sur Stack Overflow. C’est plutôt une discussion animée sur la stratégie business d'un projet, tandis que nos ingénieurs sollicitent GitHub Copilot afin de générer en temps réel l'intégralité de l'architecture et du code du produit sur lequel nous travaillons.

C'est ainsi que nous construisons désormais des logiciels chez PALO IT, et cela a transformé en profondeur nos pratiques d'ingénierie logicielle. Cela n'a pas été simple mais c’est bien le futur du développement logiciel qui se dessine.

Le système plus que l’individu

Au départ c’est tout d’abord un constat. Un peu comme tout le monde, nous avons d’abord déployé des assistants de code au sein d’un cycle agile classique espérant des gains de productivité significatifs. Au final, les résultats étaient trop timides. Pourquoi ? Parce qu’on augmentait un paradigme de livraison déjà fatigué, au lieu de repenser la processus de de bout en bout.

Utiliser des outils d’IA à l’échelle individuelle, sans repenser l’orchestration de bout en bout, limite les gains au seul temps d’implémentation à l’intérieur des silos. La révélation est arrivée lorsque nous avons compris qu’une transformation profonde exigeait de réinventer l’ensemble du processus de développement, pour le rendre AI first : l’IA ne doit pas se contenter d’augmenter les méthodes existantes ; elle doit piloter le flux de bout en bout en se plaçant au centre du processus.

Après 18 mois de R&D, expérimentations et premiers projets en production, nous avons fait émerger et validé la bonne approche en créant à des assets clés - des bibliothèques entières de prompts, des fichiers de configuration et une structure du référentiel - qui impactent fortement la manière dont l'IA génère un produit digital. Au cœur de cette approche :  la capacité pour l’IA de conserver une compréhension globale et vivante de tout le contexte du projet tout au long de son avancement.

Chaque décision - des objectifs commerciaux que le produit est censé atteindre aux choix d'architecture de haut niveau, en passant par les détails de mise en œuvre spécifiques - est documentée, validée et traçable. Gen-e2 ne se contente pas de générer du code, il génère une compréhension systémique du produit.

Nous utilisons le contexte pour prompter, et nous promptons pour créer du contexte

Plutôt que de demander à l’IA de créer de petites fonctionnalités isolées, nous l’amenons à modéliser ce que le produit doit accomplir. À partir d’une intention documentée et ultra contextualisée, l’IA propose des voies de conception et d’implémentation cohérentes. La plupart des pratiques se limite à des approches du type  "Chain-of-thought beaucoup trop linéaires et limitées pour nos objectifs.



chain of thought prompting

Fig. 1. Chain-of-thought : des incitations linéaires séquentiellesséquences linéaires de prompt dans avec une succession de verbalisation intermédiaire pour optmimiser  question-réponse-question-réponseles performances d’un modèle.

 

Avec Gen-e2, nous utilisons plutôt le "Context Prompting" : le contexte du projet s’enrichit de tous les échanges et interactions, il est « vivant » et c'est lui qui génère le code. L'IA maintient un contexte exhaustif et olistique du produit de manière continue : les prompts nécessaires deviennent beaucoups plus courts : plus de redites et répétitions, et la productivité s’en trouve décuplée. Le contexte du projet devient un système adaptatif complexe composé de boucles de rétroaction qui ne cessent de l'enrichir et de générer une compréhension systémique.

Screenshot 2025-02-20 at 3.09.36 PM

Fig. 2. Le « Context prompting » avec  Gen-e2 : le contexte du projet nourrit et guide la génération

 

Gen-e2 en action : du pilote à l’industrialisation

Ce qui rend notre approche unique, c’est que nous ne théorisons pas un futur AI driven - nous le faisons pour de vrai, à l’échelle et c’est totalement inédit.

Nous démarrons généralement par un pilote pour démontrer l’efficacité de l’approche Gen e2 dans le contexte du client, pour ensuite le déployer plus largement au sein de l’organisation.

Après avoir éprouvé Gen-e2, sur le terrain pendant plus d’un an, auprès d’entreprises très matures sur l’IA, nous sommes maintenant convaincus d’avoir franchi un véritable cap dans l’intégration de l’IA au sein des processus de développement logiciel. Un changement radical, probablement le plus important de la décennie, dans la continuité de bouleversement tels que l’agilité ou le design thinking dans la manière d’appréhender le développement logiciel. Il devient fondamentalement lean.

La contrepartie est une modification significative de la manière de travailler et des rôles au sein d’un projet. Tous les métiers du produit (PM, PO, designer, architectes, ingénieurs logiciels, …) sont impactés et travaillent directement avec l’IA.

Loin de ringardiser les développeurs, Gen-e2 revalorise leur rôle : ils ne « corrigent » plus le code mais améliorent le contexte qui le génère, et se concentrent davantage sur la stratégie et les enjeux métiers du projet. Le « développement » migre vers de "l’ingénierie de contexte" en somme. Les sessions de d’AI mob programming, permettent d’aligner plus que jamais équipes business et techniques.

Des résultats concrets

Les résultats parlent d'eux-mêmes ! Nous livrons de nouveaux produits 2 à 3 fois plus vite qu'avec les méthodes traditionnelles, tandis que la modernisation et la replatformisation des systèmes existants sont 3 à 5 fois plus rapides.

Traditional Software Development Life Cycle

Fig 3 : cycle de développement logiciel agile traditionnel : un processus qui reste disparate et fragmenté avec d longs cycles de delivery 

 

En pratique, voici à quoi ressemble le burn down d’un projet récemment livré avec GitHub Copilot dans une grande organisation internationale : vélocité ×2 grâce à Gen e2 par rapport aux méthodes classiques, et livraison de fonctionnalités supplémentaires pour atteindre 120 % du périmètre initial.

Screenshot 2025-02-24 at 11.28.37 AM-1

Fig 4 : Burn down réel d’un projet livré dans une grande organisation : gains de vitesse et d’alignement grâce à des itérations d’une journée en mob programming assisté par IA.

 

Des copilotes aux agents : spécialisation et orchestration

A mesure que les technologies progressent, nous allons au-delà de l'utilisation de base des copilotes d'IA et nous les associons maintenant à des "agents d'IA" spécialisés (architecture, design, conformité, ..).  Gen-e2 ne change pas seulement notre façon de travailler à PALO IT - il rend le développement logiciel plus accessible à toutes sortes d’organisation, en déplaçant les enjeux et l’effort depuis le développement vers la résolution de problèmes métiers.

Comme l'a fait remarquer l'un de nos ingénieurs, "Le code appartient au passé. Nous ne nous contentons plus d'écrire du code. Nous concevons des solutions. » Les phases traditionnelles ne disparaissent pas parce que l’IA est plus rapide : elles disparaissent car tout le processus devient plus intelligent, intégré et aligné sur les besoins métiers. Dans ce nouveau paradigme, chaque ligne de code est générée dans un but précis, chaque décision d’architecture est prise avec une prise en compte du contexte complet et chaque membre de l'équipe se concentre sur l’essentiel : créer de la valeur pour les utilisateurs. 

L’IA ne nous remplace pas mais l’humain devient une sorte d’interprète-orchestrateur : il définit le cadre (enjeux, contraintes, esthétique, conformité) et pilote les diverses IA. Nous naviguons à un niveau d’abstraction plus élevé, en pensant stratégiquement pendant que les machines définissent la tactique. Et cet avenir, nous le vivons déjà.

Si vous êtes prêt à transformer votre processus de développement logiciel et à débloquer une productivité sans précédent, contactez-nous dès aujourd'hui.

Prêt à transformer votre processus de développement logiciel et à atteindre une productivité sans précédent ?