Nous avons réalisé ce que beaucoup pensaient être encore à 2 ou 3 ans de distance, en livrant des projets 2 à 5 fois plus vite que les approches conventionnelles, tout cela en utilisant l'IA pour générer 95% du code, de la documentation, des diagrammes d'architecture, de l'infrastructure en tant que code, etc. en livrant fondamentalement l'ensemble du produit, tout en augmentant la qualité dans tous les aspects.
Découvrez notre méthodologie Gen-e2 (Generative AI Enhanced Engineering).
Dans l'un de nos bureaux, notre équipe d'ingénieurs est réunie autour d'un grand écran pour une session de "programmation AI mob". Il n'y a pas de saisie frénétique, ni de défilement interminable de bibliothèques de code sur Stack Overflow. Au lieu de cela, nous sommes engagés dans une discussion animée sur la logique commerciale d'un projet, tandis que nos ingénieurs demandent à GitHub Copilot de générer l'ensemble de l'architecture et du code du produit en temps réel.
C'est ainsi que nous construisons désormais des logiciels chez PALO IT, et cela révolutionne toute notre approche de l'ingénierie logicielle. Mais le chemin n'a pas été simple et notre parcours nous a permis de tirer des enseignements précieux sur l'avenir de l'ingénierie logicielle.
D'un problème à une percée
Tout a commencé par un problème. Comme de nombreuses organisations, nous avons d'abord déployé des assistants de codage IA pour compléter notre cycle de vie de développement logiciel (SDLC) agile standard, en espérant des gains de productivité significatifs. Les résultats ont été décevants parce que nous essayions d'intégrer l'IA dans un paradigme de livraison obsolète. Nous avons réalisé que l'utilisation d'outils d'IA au niveau individuel, sans repenser l'orchestration de l'ensemble de la chaîne de production, limitait les gains de productivité au niveau individuel et n'avait d'impact que sur le temps de développement à l'intérieur des silos. La percée s'est produite lorsque nous avons compris qu'une transformation significative nécessitait de réimaginer l'ensemble du cycle de vie du développement logiciel pour qu'il soit "AI-first" ou "AI-driven", au lieu que l'IA ne fasse qu'augmenter les méthodologies de livraison standard.
Après 18 mois d'expérimentation et de projets d'entreprise, nous avons développé et validé la bonne approche, des bibliothèques entières d'invites, des fichiers de configuration et la structure du référentiel pour changer fondamentalement la façon dont l'IA génère un produit. Au cœur de cette approche se trouve un moyen de faire en sorte que l'IA conserve une compréhension globale de l'ensemble du contexte du projet. 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 inciter, et nous incitons à créer un contexte
Au lieu d'inciter à générer de petites fonctionnalités, nous incitons l'IA à générer une compréhension plus large de ce que le produit doit réaliser, de sorte qu'à son tour, l'IA génère des pistes et des voies pour construire ce produit. Pour ce faire, nous allons au-delà de la "chaîne de pensée", qui est celle de 80 % des gens, c'est-à-dire une façon linéaire de sauter séquentiellement des questions aux réponses, invite après invite.
Fig. 1. L'incitation "en chaîne" : des incitations linéaires séquentielles dans une succession de question-réponse-question-réponse.
Avec Gen-e2, nous utilisons plutôt le "Context Prompting". Le contexte de l'ensemble du projet se développe à partir des messages-guides. À son tour, parce que l'IA détient tout ce contexte, nous pouvons utiliser des messages-guides beaucoup plus petits : les ingénieurs n'ont pas besoin de se répéter constamment et d'écrire de longs messages-guides. L'IA comprend ce qu'ils veulent dire grâce à des messages plus courts, ce qui permet des gains de productivité considérables. 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.
Fig. 2. Concept d'incitation contextuelle de Gen-e2
Comment Gen-e2 assure le cycle de vie du développement d'un nouveau produit
Ce qui rend notre approche Gen-e2 unique, c'est que nous ne nous contentons pas de théoriser sur l'avenir du développement piloté par l'IA - nous le mettons en œuvre à grande échelle d'une manière que même les équipes d'IA les plus matures disent n'avoir jamais vue auparavant. Nous commençons généralement par un projet pilote pour prouver que notre cycle de vie de développement de produits Gen-e2 AI-PDLC (Product Development Life Cycle) fonctionne dans le contexte de l'organisation. Même ceux qui ont poussé les outils de copilotage de l'IA en tant qu'adopteurs précoces disent qu'ils veulent s'associer avec nous lorsqu'ils réalisent que nous exécutons des niveaux d'adoption de l'IA qu'ils n'avaient imaginés qu'hypothétiquement ou dans des années pour leur propre organisation.
Cette réponse d'organisations clés, qui vont de l'avant avec l'IA, confirme ce que nous avons découvert grâce à l'expérience pratique : Gen-e2 représente un bond en avant fondamental dans la manière dont l'IA peut être intégrée au processus d'ingénierie logicielle, et probablement le changement le plus important dans ce domaine au cours de la dernière décennie.
L'impact sur les rôles de nos équipes de projet a été transformateur. Ce ne sont pas seulement les ingénieurs qui travaillent avec les outils de copilotage de l'IA, mais aussi les propriétaires de produits, les concepteurs et les architectes. Au lieu de rendre les développeurs obsolètes, Gen-e2 a revalorisé leur rôle. Nos ingénieurs consacrent désormais plus de temps à des tâches stratégiques de grande valeur, en se concentrant sur les résultats commerciaux plutôt que sur les détails de la mise en œuvre. Grâce à nos sessions de programmation mob améliorées par l'IA, nos équipes de produits travaillent dans un alignement sans précédent avec les parties prenantes de l'entreprise, en menant des itérations rapides d'une journée qui réunissent la stratégie de l'entreprise et l'exécution technique.
Les chiffres qui changent tout
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.
Fig 3 : Le cycle de vie traditionnel du développement de logiciels, malgré l'intention agile, reste disparate, avec des phases fragmentées, conduisant à des cycles de livraison beaucoup plus longs.
En pratique, c'est à cela que ressemble le tableau de combustion d'un projet que nous avons récemment livré en utilisant GitHub Copilot dans une grande organisation internationale (Fig. 4). La vélocité a été multipliée par deux grâce à Gen-e2 (par rapport aux méthodes traditionnelles) et nous avons pu livrer des fonctionnalités supplémentaires pour atteindre 120% du périmètre initial.
Fig 4 : Diagramme de combustion d'un projet récemment livré dans une grande organisation internationale, résultats réels de Gen-e2 par rapport aux prévisions des méthodes traditionnelles, augmentation de la vitesse et de l'alignement grâce à des itérations rapides d'une journée dans des sessions de programmation mobile entre les propriétaires de produits, les concepteurs et les ingénieurs.
Au fur et à mesure que les technologies de l'IA progressent au niveau mondial, nous allons déjà au-delà de l'utilisation de base des copilotes d'IA et nous les associons maintenant à des "agents d'IA" spécialisés pour effectuer des tâches d'architecture, de conception et de conformité. Gen-e2 ne change pas seulement notre façon de travailler à PALO IT - il rend le développement de logiciels plus accessible aux organisations de toutes sortes, en déplaçant l'attention de l'écriture de code vers la résolution de problèmes d'entreprise.
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 n'ont pas disparu simplement parce que l'IA est plus rapide - elles ont disparu parce que l'ensemble de notre processus de développement est devenu plus intelligent, intégré et aligné sur les besoins de l'entreprise. Dans ce nouveau paradigme, chaque ligne de code est générée dans un but précis, chaque décision architecturale est prise dans un contexte complet et chaque membre de l'équipe se concentre sur ce qui compte vraiment : créer de la valeur pour les utilisateurs. Nous pensons que cela représente l'avenir de l'ingénierie des logiciels et des produits - l'IA ne remplace pas les humains, mais l'IA aide les humains à travailler à un niveau d'abstraction plus élevé, en pensant stratégiquement pendant que les machines s'occupent des détails tactiques. D'après notre expérience, cet avenir n'est pas seulement possible - 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.
- Dimitri Baikrich, directeur technique, PALO IT
Prêt à transformer votre processus de développement logiciel et à atteindre une productivité sans précédent ?