Software Engineering & Architecture - Les Tech Trends 2024

Cette année 2024 s’annonce sous le signe de la complexité, avec :

  • Le hold-up de la GenAI !
  • Un contexte socio-économique sous tensions avec de forts enjeux sur le « Sustainable ».
  • La fin de l’archipélisation des lieux de travail post Covid-19 avec un retour au bercail!

Vous trouverez dans ce billet les Tech Trends 2024 selon OCTO Technology autour du « Software Engineering & Architecture » afin que vous puissiez délivrer - sans les mains - vos produits stratégiques en production.

Ces Tech trends 2024 sont regroupés en cinq thématiques :

  1. La GenAI : un outil AUTO-MAGIQUE pour les Software Engineers !
  2. Architecture : La puissance du design UP-FRONT et des nanoservices !
  3. Souveraineté & Sustainable : les Raspberry Pi remplacent le Cloud !
  4. Des organisations performantes : Le pattern « Jedi High Council » !
  5. Sécurisation en profondeur : la fermeture du Web avec le retour de la sécurité périmétrique !

1. La GenAI : un outil AUTO-MAGIQUE pour les Software Engineers

La générative AI a réalisé fin 2023 un véritable hold-up qui impacte notre manière de travailler.

La GenAI rend obsolète les développeurs !

Lorsque l'on évoque l'impact de la GenAI chez les développeurs, on parle d'une nouvelle ère d'outils assistants comme Github Copilot, Google Gemini (ex Duet AI) ou Tabnine qui suggèrent du code en auto-completion dans l'IDE, mais engagent également la conversation en mode Chat pour générer du code.

Dans ce monde futuriste du codage assisté, les avantages sont indéniables : la GenAI génère tout le code de votre application, rédige les tests, et produit même la documentation, et tout ça en UN click !

Une explosion des gains de productivité de l’ordre de 300% !

  • Une étude McKinsey révèle que les développeurs peuvent coder deux fois plus vite avec la GenAI !
  • Forrester fait la prévision qu’en 2024, les développeurs vont gagner 20 à 50% de productivité en moyenne, et pour des développeurs expérimentés, la productivité peut aller jusqu’à 200% !

Quant à nous, nous ne nous laisserons pas intimider : OCTO Technology prévoit des gains de productivité allant jusqu’à 300% ! Effectivement, avec ces outils GenAI, le développeur augmenté n’a plus qu'à valider les suggestions de code générées par les assistants IA, en appuyant sur la touche “TAB”. L’IA produit du code d’une qualité toujours optimale : heureusement, il n’y a jamais d’hallucinations ! Ouff.

La productivité du développeur est alors linéairement proportionnelle à sa capacité à appuyer rapidement sur la touche “TAB”. Notre prévision est que les développeurs vont déployer des techniques de rapidité sur les claviers mécaniques, comme cela a été fait sur les joypad dans le monde du jeux vidéo, avec le DAS, l’Hypertapping et le Rolling !

  • Imaginez la productivité que pourrait atteindre Willis Gibson, le jeune prodige américain de 13 ans qui a réalisé l’exploit historique de « terminer » le jeu Tetris le 21 décembre dernier en atteignant le niveau 157 en 38 minutes, franchissant 1511 lignes et révélant le légendaire "kill screen" ! 🤯
  • Imaginez la productivité que pourraient atteindre les meilleurs joueurs de Starcraft II qui dépassent les 2600 APM ! 🤯

DAS, l’Hypertapping et RollingStarcraft II - 2600 APM

Du coup la pyramide de séniorité des équipes peut être adaptée : il est désormais possible de recruter uniquement des développeurs juniors (voir des stagiaires) pour obtenir des gains substantiels en terme de coûts :

  • En particulier, plus besoin de s'embêter avec les développeurs et le SOFTWARE CRAFTSMANSHIP ou le DevOps : finit le Pair programming, les Peer review, le TDD, le DDD, les CI/CD, etc : la GenAI s’occupe de tout ! L'architecture du SI devient également facultative.
  • Il suffit de former les développeurs sur le prompt engineering (PE) : on trouve des tuto très pertinents sur TikTok.

L'avènement du Nocode couplé à l’IA

Mais il est possible d’aller encore plus loin : en utilisant des outils puissants Nocode couplés à l'IA: les développeurs ne sont plus nécessaires ! Les acteurs métiers, en plus de savoir exactement ce qu’ils veulent et d’être empiriquement alignés, peuvent se former sur ces technologies clés ou l’IA est AUTO-MAGIQUE et s’occupe de tout ! C’est la fin des interminables débats sur les NFR (Non-Functional Requirements) ou sur les estimations !

Au final, qu’il s'agisse de Nocode ou de GenAI, il n’y a pas réellement de surprise, car les outils de génération de code et d’abstraction de la technologie sont un concept vieux comme Hérode et ont toujours démontré que c'était un gage de productivité et de qualité des applications générées qu’on a mis entre les mains de nos utilisateurs :

  • Dreamweaver, éditeur de site web WYSIWYG créé en 1997, commercialisé par Macromedia puis Adobe Systems, a longtemps été l’outil utilisé par les intégrateurs Web de haut vol pour produire un code maintenable et performant.
  • L'approche MDA a démontré l'intérêt des outils permettant la génération automatique de code source à partir d'une modélisation UML avec une approche design-first. Nous avons en tête quelques exemples :
    • IBM® Rational® Software Architect Designer ont permis de générer du code SOA sur les environnements JEE WebSphere® pour maximiser la productivité.
    • ArcStyler permettait déjà de gagner 35% de productivité en se focalisant sur le business, la modélisation plutôt que la technologie, en produisant du code indépendant de la plateforme J2EE ou .NET (cf le livre Convergent Architecture: Building Model-Driven J2Ee Systems With Uml).
  • D'ailleurs, il parait que Chuck Norris est capable de maintenir le code généré par ces outils.

2. Architecture : La puissance du design UP-FRONT, des events et des nanoservices

Concernant l’architecture, l’année 2024 comportera 3 enjeux phares :

  1. Savoir designer des architectures UP-FRONT avec le principe du « qui peut le plus peut le moins » pour anticiper tous les besoins futurs ! Nous recommandons d’anticiper l’ensemble des besoins sur une fenêtre d’un ou deux ans, car sur cette durée, on sait avec certitude qu’on ne changera pas d’avis avec les retours utilisateurs.
  2. EDA as the universal Architecture : bâtir des architectures basées sur des events et ce de manière systématique, même dans du code en local, couplées au pattern CQRS, pour être certain d’obtenir une architecture KISS !
  3. Adopter une bonne stratégie de découpage, avec deux choix viables :
    • Soit découper en microservices : chaque μservice est indépendant, avec un composant applicatif dédié et hosté sur un un cloud quelconque ! On peut ainsi découper son SI en 10000 μservices, avec l'assurance que ce soit beaucoup plus simple et beaucoup plus maintenable.
      • Nous sommes par ailleurs en train d’expérimenter un découpage encore plus fin en nanoservices, ou chaque nservice représente un attribut en base de données. Nous vous tiendrons informé des avancées.
    • Ou bien le pattern du SUPRA Monolithe qui fait tout ! Aussi appelé le pattern du « pack pot-au-feu ». C’est encore mieux si c’est une solution éditeur ! Vous voulez des carottes ? Pour un peu plus cher, vous aurez : navets, poireaux et oignons !

Le best-of-plus des technologies front-web & mobile

  • Concernant l’état de l’art des technologies web-front, sachant que les frameworks web ont approximativement la même longévité que les compagnes de Leonardo DiCaprio, notre préconisation est de s'en tenir à des technologies stables et éprouvées : jQuery, les iFrames et la balise marquee.
  • Concernant l’état de l’art des technologies mobiles : nous vous conseillons de revenir aux sources et de repartir sur des applications full natives avec java et Objective C qui ont démontré depuis des années leur simplicité de maintenabilité et qui tournent sans souci sur dumbphone et sont compatibles avec une approche low-tech.

3. Souveraineté & Sustainable : Les Raspberry Pi remplacent le cloud

Le principe de souveraineté et les enjeux du « Sustainable » vont nous conduire à remplacer les Cloud Providers par des Raspberry Pi hébergés dans un sous-sol souverain (un souverol?), et ainsi garantir des coûts d’infrastructure largement inférieurs.

Avec le nouveau modèle Raspberry Pi 5, pas de panique, ça devrait tenir ! Puisque ce dernier est doté d'un puissant processeur ARM Cortex-A76 64 bits à quatre cœurs, cadencé à 2,4 GHz. Il peut donc aisément héberger un site web pour la modique somme de 93.28€.

Pour répondre aux exigences de scaling et d'élasticité :

Raspberry rackLes hyperscalers comme AWS, Google cloud et Microsoft Azure n’ont qu’à bien se tenir !

4. Des organisations performantes : une tour de contrôle et des centres de service offshorisés

Tout d’abord, on constate en 2024, l'abolition de l’archipélisation des lieux de travail post Covid-19, puisque le télétravail qui fonctionnait pendant la pandémie Covid-19 s’est subitement arrêté de fonctionner depuis que le port du masque n’est plus obligatoire : C’est le retour au bercail ! La fin de la récré !

En marge de ce phénomène, en 2024 sur le plan de l’organisation, on constate l’explosion du pattern suivant :

  • La création d’une tour de contrôle, que nous appelons chez OCTO Technology le « Jedi High Council ».
    • Cette équipe déployée sur un plateau projet en présentiel donc, comporte tous les rôles essentiels au succès du produit projet.
    • Leur rôle est de faire des meetings sur Teams, de suivre des métriques et de créer des tickets Jira pour l’équipe de développement.
    • Il est important que les architectes restent dans le « Jedi High Council » pour apporter un regard critique et original, assez éloigné du terrain, via le pattern « tour d’ivoir ».
  • La création de centres de service offshorisés avec des développeurs et des ops (au cas où cela servirait pour bâtir des softwares).
    • Leur rôle est - grosso modo - de faire tout le taff.
    • D’éviter d’aller sur Jira.
    • Demander à ChatGPT comment centrer une DIV ou comment quitter Vim.

Organisation IT - Jedi High CouncilLes forces de cette organisation sont triviales :

  • Selon McKinsey, 70% des transformations digitales échouent ! Pour ces raisons, il paraît évident que le fait de séparer l’équipe de pilotage et produit, des compétences de développement que l’on regroupe dans un centre de service pour réaliser le produit, maximise les chances de succès.
  • Et c’est bien connu, le fait de créer des silos avec des responsabilités différentes renforcent le collectif et n'entraîne jamais de frictions.
  • C’est d’autant plus évident si les équipes sont dispatchées sur des continents différents, avec des langues et des cultures différentes, et sur des fuseaux horaires disjoints ! De la sorte, on met toutes les chances de son côté.

5. Sécurisation en profondeur : la fermeture du Web avec le retour de la sécurité périmétrique

Selon Gartner, d’ici 2027, 75 % des employés utiliseront des technologies qui échappent aux contrôles des services informatiques. Face à cette menace, nous préconisons de réintroduire massivement la sécurité périmétrique, avec la fermeture du Web et le retour du VPN.

En parallèle, nous recommandons l’abolition du BYOD, la mise en oeuvre d’un Mobile Device Management (MDM) principalement pour vos populations techs et développeurs, en respectant les principes suivants :

  • Restreindre les outils déployés sur le poste de travail à des outils éprouvés de la dernière décennie pour contenir l’innovation
  • Couper l’accès à internet, sauf whitelist pour :
    • Restreindre l’accès aux forums d’entraides pour limiter les copiés-collés de code externe et favoriser la créativité.
    • Pour s'assurer que les builds “faillent” systématiquement sur le “download des dépendances”, ou qu’ils durent 7 heures (comme le gigot).
  • Demander à l’utilisateur de retaper son mot-de-passe de 32 caractères toutes les 2 heures via une authentification à 7 facteurs
  • Faire tourner tout un tas de programmes propriétaires développés par l'équipe PDT, en continu sur la machine pour veiller à la sécurité car ainsi, il est possible de rendre un MacBook Pro M3 Max 48 Go, CPU 16 cœurs et GPU 40 cœurs à 5000€ aussi performant qu'une brouette shippée en 2013.
    • En sus, dès qu’on lance un build ou un conteneur Docker, le CPU et le ventilateur s’affolent : Avec une dizaine de MacBook dans une pièce, la température atteint aisément les 42 degrés en hiver sans allumer le chauffage et on accompagne ainsi la transition écologique.

Troll - Non mais en vrai !Non mais en vrai !