Description
Objectifs
À travers un besoin fil rouge réaliste, sous forme de kata, les participants expérimenteront l'enchaînement de ces pratiques pour produire un code propre, maintenable et aligné sur les exigences de productivité.
Combattre la dette technique (legacy) et le code de mauvaise qualité
L'un des objectifs centraux est de prévenir le gaspillage financier : la dette technique gaspille 23 % à 42 % du temps de développement. Les participants maîtriseront le Test-Driven Development (TDD) et le Refactoring comme outils de conception, essentiels pour produire du code de haute qualité qui présente 15 fois moins de défauts que le "Red Code"*.
Sécuriser l'Architecture face au Risque IA
La formation adresse directement l'impact de l'IA. L'adoption non maîtrisée entraîne une diminution estimée de 7,2 % de la "stabilité de la livraison" et une érosion de la réutilisation du code (chute à moins de 10 % en 2024).** Le Domain-Driven Design (DDD) et le Behavior-Driven Development (BDD) seront mobilisés pour structurer l'architecture autour du métier et garantir l'alignement ainsi que pour fournir à l'IA un contexte solide.
Garantir la sécurité et la stabilité des livraisons
L'IA peut reproduire les vulnérabilités de sécurité existantes du projet (comme les injections SQL) si elle s'appuie sur un contexte vulnérable. Les participants apprendront à mettre en place des garde-fous SAST et à effectuer une revue de code manuelle obligatoire sur le code généré. L'application des principes du Craft (TDD, petits lots) permet d'augmenter l'efficacité de livraison de fonctionnalités d'au moins 25 %.*
Développer l'état d'esprit Craft moderne
L'objectif est d'adopter une culture de l'apprentissage continu et de l'expérimentation. Le Software Craftsmanship permet de réduire le stress et le Burnout en gérant la DT, et de libérer du temps pour des tâches plus stratégiques et créatives. La formation met l'accent sur la transmission du savoir-faire et l'acquisition d'un état d'esprit basé sur l'humilité et la bienveillance.
ources
*https://codescene.com/hubfs/web_docs/Business-costs-of-technical-debt.pdf
**https://gitclear-public.s3.us-west-2.amazonaws.com/GitClear-AI-Copilot-Code-Quality-2025.pdf
Jour 1 – Explorer & Formaliser : poser les bases avec DDD et BDD
Objectif : comprendre le besoin, parler le même langage, identifier la valeur avant de coder.
Phase 1 : Explorer le besoin
Atelier “Besoin parachuté”
-- Réception d’une demande floue, typique d’un backlog réel
-- Identification des acteurs, comportements attendus et contexte métier
Pratiques craft mobilisées :
-- DDD (Domain-Driven Design) – explorer le domaine, établir un vocabulaire commun
-- Event storming / mapping light – visualiser les flux métiers
-- Ubiquitous language – faire émerger le langage partagé
Phase 2 : Formaliser la valeur
Atelier “De l’exploration au scénario”
-- Transformer les besoins en scénarios concrets de valeur
-- Formaliser des exemples métier clairs
Pratiques craft mobilisées :
-- BDD (Behavior-Driven Development) – écrire des scénarios compréhensibles
-- Slicing & baby steps – découper la fonctionnalité en incréments livrables
Livrable du jour :
User story clarifiée, découpée, avec scénarios BDD formalisés
Jour 2 – Concevoir & Implémenter : construire la solution avec TDD et Clean Code
Objectif : faire émerger une solution simple, testable et maintenable à partir des scénarios formalisés.
Phase 3 : Concevoir par les tests
Atelier “TDD en contexte réel”
-- Démarrer à partir d’un scénario BDD et l’implémenter en TDD
-- Identifier les micro-boucles de feedback du Red-Green-Refactor
Pratiques craft mobilisées :
-- TDD (Test-Driven Development) – concevoir par le test
-- Design émergent – faire apparaître les abstractions au fil des tests
-- Baby steps – avancer par incréments mesurés
Phase 4 : Nettoyer et stabiliser le code
Atelier “Refactorer pour mieux comprendre”
-- Identifier les mauvaises odeurs
-- Refactorer le code sans briser la logique métier
Pratiques craft mobilisées :
-- Clean Code – principes de lisibilité et d’intention
-- Refactoring – amélioration continue sans régression
-- Pair programming / mob programming – renforcer la qualité collective
Livrable du jour :
Une première fonctionnalité fonctionnelle, testée, propre et lisible
Jour 3 – Faire évoluer & Pérenniser : équilibrer design, simplicité et valeur
Objectif : apprendre à faire vivre le code et les décisions techniques dans la durée.
Phase 5 : Faire évoluer avec conscience
Atelier “Provoquer l’over-engineering”
-- Implémenter volontairement une solution trop complexe
--Identifier ensemble les signaux d’alerte et les coûts cachés
Pratiques craft mobilisées :
-- KISS / YAGNI – revenir à la simplicité utile
-- Trade-offs de design – apprendre à décider avec conscience
Phase 6 : Intégrer, livrer et apprendre
Atelier final “De la story à la livraison”
-- Intégrer plusieurs slices
-- Discuter de la dette, du code legacy, des compromis réels
Pratiques craft mobilisées :
-- Continuous improvement – inspecter et adapter
-- Posture craft – responsabilité, feedback, apprentissage collectif
Clôture :
-- Synthèse des liens entre DDD, BDD, TDD, Clean Code et Refactoring
-- Construction d’une timeline craft personnelle pour les projets réels
Public cible
Cette formation s'adresse à un large éventail de rôles techniques cherchant à renforcer leur culture craft et à maîtriser les fondations de l'excellence logicielle
Développeurs/développeuses de niveau intermédiaire à confirmé,
Tech leads, coachs techniques
Membres d’équipes souhaitant renforcer leur culture craft
Prérequis
• Expérience en développement : Le Software Craftsmanship s'adresse aux professionnels qui ont l'ambition de produire un code de bonne qualité. Le programme utilise des techniques avancées telles que le TDD (qui n'est pas qu'une technique de test, mais de développement au sens large) et le Refactoring.
• Validation des pré-requis : Un quiz de validation des pré-requis sera transmis 2 semaines en amont de chaque session, et en fin de session pour valider les acquis [Query].
Matériel pédagodique
Les formateurs distribueront les supports de la formation au format électronique PDF à la fin de la formation.
À savoir
La formation est donnée en français ou en anglais. Les supports de formation sont en anglais.