Retour sur NewCrafts 2024
Sommaire
- Plongée dans l’innovation et la qualité logicielle
- L’Impact de la négligence technique
- NewCrafts 2024, en route vers l’avenir du développement logiciel
La conférence NewCrafts est un rendez-vous incontournable pour les passionnés de développement logiciel. Chaque année, cet événement réunit des experts et des professionnels de l’industrie pour échanger sur des sujets variés tels que l’architecture, l’organisation des équipes, l’humain, la gouvernance et l’agilité. Cette édition n’a pas fait exception, avec des discussions animées autour de l’Intelligence Artificielle et de son impact croissant sur notre métier. En tant que développeurs, nous sommes constamment confrontés aux évolutions technologiques et organisationnelles, et NewCrafts est l’occasion parfaite pour se tenir informé des dernières tendances et bonnes pratiques.
Plongée dans l’innovation et la qualité logicielle
Retrouvez le retour de Cyril :
Quel plaisir de retrouver la conférence NewCrafts chaque année !
Une conférence centrée sur la qualité logicielle et tout ce qui tourne autour : craft, architecture, organisation, humain, gouvernance, agilité, etc. L’IA était évidemment au cœur des préoccupations, et mentionné de nombreuses fois. Parfois comme une inquiétude, d’autres fois comme un espoir. L’autre thème central reste l’organisation des équipes, avec plusieurs références au livre Team Topologies pour optimiser le flux de travail.
Je vous livre un résumé des talks qui m’ont le plus marqué :
De la phase pilote à la transformation : adopter l’IA générative à grande échelle
Par Patrick Debois
Dès la keynote, le décor est planté : l’IA nous envahit et sa révolution est en marche pour bouleverser nos usages. Nous parlons bien d’IA générative, à ne pas confondre avec du Machine Learning / Deep Learning, plus centré sur la prédiction et l’automatisation.
Le rythme est effréné, il devient difficile de suivre, et cela devient aussi très coûteux, entre la gestion des GPUs, les entraînements de modèles et les compétences rares…
Il faut s’attendre à ce que toutes les tâches manuelles, fastidieuses et répétitives, deviennent une commodité à l’avenir. En attendant il faut faire avec et maîtriser : filtrage des données sensibles, cache des requêtes pour éviter une surconsommation inutile, Retrieval Augmented Generation (RAG), etc.
Sans compter sur les problèmes d’hallucinations et de dérives, qui demandent un monitoring de la production, histoire d’éviter des sentiments négatifs ou des propos toxiques.
Après la fatigue JavaScript, découvrez la fatigue GenAI !
Tactiques de transformation d’équipe pour des tests holistiques et la qualité
Par Lisi Hocke
Lisi partage son expérience et ses tactiques pour transformer ses équipes afin de délivrer un produit de qualité. Pour ce faire, la culture est la fondation de tout. Le reste finira par suivre (technique, stratégie, business, etc.).
Il est important de construire un esprit d’équipe pour tout affronter ensemble. Pour ce faire, il faut comprendre le système déjà en place, puis transformer étape par étape, en choisissant bien ses batailles pour ne pas brûler son énergie pour rien.
Lisi dévoile sa boîte à outils avec ses tactiques du changement. Globalement, il faut se focaliser sur les gens, apprendre à se connaître et inclure tout le monde. Ne pas hésiter à s’appuyer sur les forces en présence, montrer l’exemple pour embarquer et laisser un maximum d’expérimentation, en laissant toujours le droit à l’erreur.
Le partage doit être au cœur des process, que ce soit pour le savoir, les victoires mais aussi les douleurs. Pour aider, il faut optimiser le flux pour un feedback plus rapide. Surtout, il faut se contenter de faire un peu mieux tous les jours, par petits pas.
De l’humain à l’IA : histoire et avenir des développeurs logiciels
Par Martin Mazur
Ce talk fait un retour en arrière sur l’histoire de l’informatique et les étapes majeures menant au développement logiciel d’aujourd’hui et de demain. Evidemment, l’inquiétude des développeurs est d’être remplacé et mis au placard par la GenAI. Il se trouve que ce n’est pas la première fois que notre métier est menacé. A chaque fois, ces tentatives d’assassinat ont eu l’effet inverse (Cobol, WYSIWYG, Flash…).
A chaque fois, la demande grandissante en logiciels a largement contribué à l’avènement des développeurs : personal computers, smartphones, cloud computing, etc.
Une étude portant sur Copilot indique une augmentation de productivité de 55%, du moins sur le code. Mais un développeur.se passe-t-il son temps à coder ? Pas vraiment … nous passons plus de temps à comprendre le besoin et réfléchir à la marche à suivre. Le gain de productivité serait donc sur une petite partie de notre métier.
Enfin, Martin tente d’imaginer le futur. La technologie pourrait ne bénéficier qu’aux élites, fracturant la société davantage. Ou au contraire faciliter la vie de toutes et tous, laissant place à une créativité assistée par les machines. Ou peut-être s’agira-t-il d’un nouvel âge d’or pour les crafters ?
D’ici là, ne ratez pas la vague. L’IA n’est pas encore parfaite, elle peut aider dans les domaines qu’on ne maîtrise pas, accélérant l’apprentissage, comblant les lacunes. Et quand on est meilleur que l’IA dans un domaine, c’est aussi un moyen de se mettre en avant.
Plus haut, plus vite, plus loin : atteindre la qualité optimale
Par Gernot Starke
Les attributs ou propriétés de qualité d’un système ne sont pas toujours simples à comprendre. Gernot fait une analogie : qu’est-ce qu’un bon café ? Est-ce un café arabica court sans sucre ? Ou un espresso avec du lait très torréfié ?
Il faut pouvoir définir chaque attribut clairement, avec des exemples. Ensuite il convient de fixer des valeurs pour chacun, potentiellement selon certaines parties prenantes.
Il existe plusieurs modèles de qualité sur lesquels se baser, mais souvent compliqués ou abstraits. Gernot propose le sien : Arc42 Quality Model. Ce modèle a l’avantage de présenter des catégories d’attributs, des définitions pour chaque attribut et des exemples concrets pour une parfaite compréhension.
Une excellente base pour se lancer dans le Quality Driven Software Architecture. L’idée est de partir des prérequis de qualité comme la disponibilité, la confidentialité, la performance, la sécurité, etc. En identifiant les attributs de qualité et leurs valeurs, en complément d’une approche orientée métier (type DDD), cela permet de répondre au mieux aux besoins utilisateurs.
Le travail architectural moderne : de la définition à l’accompagnement
Par Michael Plöd
Nous accompagnons Michael dans la transition depuis une équipe d’architecte qui impose ses choix aux autres équipes (« tour d’ivoire ») vers une facilitation des équipes par des architectes immergés dans les équipes.
On ne peut pas demander à une feature team d’être responsable de l’architecture et de la sécurité du jour au lendemain, cela créerait de la peur et de l’incertitude. Il faut bien sûr accompagner le changement, et pour ce faire intégrer les architectes dans les équipes (« architecture enabling team »).
Mais l’équipe d’architectes peut se sentir menacée, son rôle et pouvoir étant redéfini. Penser également à inclure le Comité d’Entreprise et les RH pour discuter du contrat, de la fiche de poste, du salaire, etc. C’est vraiment une discussion à plusieurs où tout le monde doit se sentir gagnant.
L’impact de la négligence technique
Retrouvez le retour de Mohamed :
Technical Neglect par Kevlin Henney
Lors de sa conférence intitulée « Technical Neglect », Kevlin Henney a exploré la notion de dette technique et son origine principale. Henney affirme que le véritable problème réside souvent dans la négligence technique plutôt que dans la dette technique elle-même. Voici les points clés de sa présentation :
- La négligence technique comme cause : Henney expose que la dette technique découle souvent d’une négligence technique sous-jacente, plutôt que d’être la cause principale. Cette négligence se manifeste par l’accumulation de tâches techniques laissées de côté et par le report régulier du refactoring.
- Les sources de négligence technique : lorsque les équipes se concentrent sur certaines tâches, elles ont tendance à négliger d’autres aspects techniques du projet. Cette concentration peut entraîner une accumulation de tâches non résolues. Par exemple, le refactoring régulier, bien que crucial, est souvent repoussé au profit d’autres priorités immédiates. Cela peut conduire à une augmentation de la dette technique, car les améliorations nécessaires ne sont pas effectuées aussi souvent qu’elles le devraient, rendant le code plus complexe à long terme.
- L’impact de la négligence technique : Henney discute de la façon dont la négligence technique peut entraîner des coûts de maintenance accrus, une productivité réduite et un ralentissement de l’innovation. L’utilisation de l’IA pour générer du code (copy/paste) est une sorte d’automatisation de la génération de la dette technique.
- L’utilisation des métaphores : Henney utilise des métaphores pour expliquer ses points. Par exemple, l’acte de cuisiner (développer des fonctionnalités) génère un désordre qu’il faut nettoyer (maintenance du code). Il souligne que tout comme le nettoyage est essentiel en cuisine, la maintenance et le refactoring du code sont cruciaux en développement logiciel. Par contre, une métaphore est similaire et non exacte…
- Les solutions : Henney souligne l’importance cruciale de gérer activement la dette technique en la réduisant progressivement. Il met en garde contre les conséquences potentiellement incontrôlables d’une absence de gestion proactive de cette dette.
NewCrafts 2024, en route vers l’avenir du développement logiciel
La conférence NewCrafts 2024 a été une véritable source d’inspiration et d’apprentissage pour tous les participants. Les discussions riches et variées ont permis d’aborder des thèmes cruciaux tels que l’impact croissant de l’IA, la transformation des équipes, et l’évolution des pratiques architecturales. Les interventions de Patrick Debois, Lisi Hocke, Martin Mazur, Gernot Starke et Michael Plöd ont offert des perspectives précieuses sur les défis et opportunités actuels du développement logiciel.
Ce rendez-vous annuel reste une occasion unique de se retrouver entre passionnés, de partager des expériences et de découvrir les dernières avancées dans notre domaine. Les idées et les stratégies partagées à NewCrafts 2024 nous encouragent à continuer à innover, à améliorer nos pratiques et à faire face aux évolutions technologiques avec confiance et ambition. En somme, NewCrafts 2024 nous rappelle que la quête de qualité et d’excellence est un voyage continu, enrichi par la collaboration et le partage de connaissances.