Formations
Je suis disponible pour animer des formations sur la France (ou proche). En formations de prêtes et déjà rodées, j’ai une introduction à l’agilité, une formation sur l’agilité pour les devs et les pratiques Craft et une formation sur le refactoring de code legacy
Les formations peuvent être animées à distance. C’est même très pratique pour les formations de code avec le partage d’écran.
Ces formations sont certifiés Qualiopi et peuvent donc être financées par des OPCOs via HackYourJob.
Introduction à l’agilité
Comprendre la démarche agile
Le but est de comprendre la démarche agile, d’avoir un petit aperçu sur les grands principes et valeurs.
Appréhender les différentes méthodes associées à l’Agilité, en insistant plus sur Scrum et XP (eXtreme Programming)
- manifeste agile (principes, valeurs)
- différentes approches
- specs / user stories
- scrum : principes
- scrum : rôles : PO, dev, SM
- scrum : événements : planing, daily stand-up, revue, rétro
- XP (principes, méthodes et pratiques principales, Tests)
- Kanban
Pour qui : tout le monde, devs, managers, fonctions annexes …
2-4 jours
Peut être couplée avec une préparation à la Certification Professional Scrum Master de scrum.org
Enfin, si vous croyez qu’on peut devenir “master” après 3 jours de formations.
Software Crafstmanship
Code-Retreat, TDD, Clean code et autres pratiques d’eXtreme Programming
Le Software Crafstmanship, c’est l’artisanat logiciel. C’est faire du sur-mesure pour le client, en étant très attentif à la qualité. Et c’est aussi mentorer les débutants et énormément de pratiques d’apprentissage et de transfert de connaissance pour continuellement monter le niveau des équipes : “raise the bar”.
Explorer les pratiques d’XP (eXtreme Programming), de Software Craftsmanship et de l’agilité en tant que dev.
Appréhender le développement agile basé sur des techniques modernes : TDD, intégration continue, automatisation des tests.
Comprendre l’importance des tests dans la production de logiciels et le développement.
Repenser ses applications existantes par la mise en place de tests pour amélioration continue.
Sensibiliser à son rôle de membre d’une équipe agile.
Utiliser les tests pour faire émerger l’architecture de l’application.
Le programme dépend énormément des attentes et des connaissances des participant·e·s et va donc varier !
Voici un exemple de ce qu’il est possible de faire :
Jour 1 : Agilité, Tests, TDD
Aperçu rapide de l'Agilité
Les différents types de tests
Principe du TDD
Ecriture de User-stories
ATDD : écrire les tests d'acceptances avec le métier
Pair-programing
Jour 2 : Qualité, Clean-Code
Qualité, Dette Technique
Clean-Code
Principes SOLID
Architecture émergente
Mocks
Jour 3 : Refactorer du code legacy, travailler dans une équipe
Qu'est ce que le code legacy ?
Écrire des tests sur du code legacy
Casser des dépendances,
Refactorer
Repérer les Bad-Smells
Revue de code : Relire du code
Git, Jenkins, intégration continue,
Communication en Équipe
La formation comprend 75% d’exercices pratiques, en binôme. Elle nécessite donc d’avoir un PC pour 2 avec un environnement de dev fonctionnel.
Le langage utilisé importe peu : j’ai déjà donné cette formation à des équipes codant en Java, C#, Kotlin, Scala, Ruby, Python, C++, Javascript, Typescript, PHP, ObjectiveC, Swift … Il est possible (et même conseillé !) de mélanger des devs utilisant technologies différentes dans une même formation.
Peut être couplé avec une préparation à la Certification Professional Scrum Developper de scrum.org
Refactoring de Code Legacy
Comment tester et refactorer du code existant ?
Notre métier consiste principalement à reprendre du code existant. Et c’est très souvent un numéro d’équilibriste redouté par les équipe de dev.
Le but de cette formation est de voir comment apréhender du code legacy pour le nettoyer et ajouter sans douleur une nouvelle fonctionnalité.
Qu’est-ce que le code legacy ?
Qu’est-ce que la dette technique, qu’est-ce que la qualité ?
Comment reconnaître et éviter les Bad smells et comment écrire du code propre ?
Clean-code :
Révéler l'intention : nommage, commentaires
Variables, fonctions, classes, modules ...
Typage
Principes SOLID
Conditionnel / polymorphisme
Écrire des tests sur du code legacy
Isoler les dépendances et appels statiques pour pouvoir tester
Golden-master test / approvals : générer des milliers de tests de non-régressions pour une boite noire
Reflection
Refactorer
Baby-step, itérations
Refactoring automatique, raccourcis clavier de l'IDE
Tests unitaires : tester unitairement et faire apparaitre des spécifications
Redesign :
Injection de dépendances
Ajouter des nouvelles fonctionnalités, TDD
Il est préferable d’avoir suivit la formation Software Crafstmanship ou de connaître rapidement les principes des tests unitaires, TDD et clean-code.
La formation comprend 75% d’exercices pratiques, en binôme. Elle nécessite donc d’avoir un PC pour 2 avec un environnement de dev fonctionnel.
Le langage utilisé importe peu : j’ai déjà donné cette formation à des équipes codant en Java, Kotlin, Python, C++, Javascript, Typescript, PHP …