Catalogue de formations
Agile Dev Practices
รtre un-e dรฉveloppeur-se encore plus agile !
Une formation mรชlant thรฉorie et pratique dans laquelle les participants dรฉcouvriront et pratiqueront de nombreuses techniques et outils permettant de dรฉlivrer du logiciel de qualitรฉ de maniรจre itรฉrative et incrรฉmentale.
Cette formation vise ร aider les dรฉveloppeur-ses ร devenir meilleurs dans la conception, lโรฉcriture et la maintenance de code dans un environnement agile.
Pour qui est-ce ?
Si vous vous รชtes dรฉjร retrouvรฉ dans lโune de ces situations, cette formation est dรฉfinitivement pour vous :
- On a du mal ร se mettre dโaccord avec nos stakeholders mรฉtiers sur ce qui est attendu.
- Le temps de dรฉveloppement augmente anormalement pour la moindre fonctionnalitรฉ.
- On a peur de toucher le code et dโy engendrer des effets de bords.
- De nombreux bugs surviennent sur nos systรจmes en production.
- Notre code est difficilement lisible et donc difficilement maintenable.
- On est obligรฉ de faire des grosses campagnes de tests ร chaque release par peur de casser quoi que ce soit.
- La motivation est en berne au sein de lโรฉquipe car on a le sentiment de toujours travailler en mode pompier.
Il existe de nombreuses pratiques et techniques quโon peut dรฉployer au quotidien afin de lutter contre cette complexitรฉ ยซ accidentelle ยป.
Objectifs pรฉdagogiques
- Dรฉvelopper des rรฉflexes de dรฉcouverte et dโanalyse de code (checklists, analyse static de code, linters, qualitรฉs des tests, hotspots analysis, โฆ)
- Sโamรฉliorer dans les pratiques collaboratives intra-รฉquipe (Pair programming , Mob Programming) mais aussi inter-รฉquipes (Example Mapping).
- Maitriser les concepts liรฉs au Clean Code et Clean Testing,
- Pratiquer le Test-Driven Development et comprendre quโil ne sโagit pas dโune approche de test mais dโune approche de conception.
- รtre capable de refactorer et amรฉliorer nโimporte quel code complexe.
- Comprendre comment combattre au quotidien la dette technique,
- Maitriser la Clean Architecture (Use Cases, Port / Adapters).
- Maitriser les patterns tactiques liรฉs au Domain Driven Design.
- Comprendre comment รฉcrire du code plus robuste ร lโaide des concepts de la programmation fonctionnelle.
Contenu de la formation
Jour 1
- Tour de table et recueil des attentes
- Kata dโintroduction ร Test-Driven Development et Example Mapping
- Se faire une idรฉe de la base de code : dรฉcouverte du systรจme du Bouchonnois et de ses contraintes
- Commencer par traiter les warnings comme des erreurs (Politique 0 Warning)
- Jauger la qualitรฉ des tests
- Amรฉliorer la lisibilitรฉ / maintenabilitรฉ des tests automatisรฉs
Jour 2
- Simplifier une suite de tests et renforcer sa confiance vis-ร - vis de notre filet de sรฉcuritรฉ
- Mettre en place des tests dโArchitecture (automatisรฉs)
- Introduction thรฉorique et mise en application des concepts derriรจre la Clean Architecture
- Application du principe Tell Donโt Ask et renforcement de lโencpasulation de notre Domain model
- Combattre la Primitive Obsession
- รviter les exceptions et rendre le code rรฉfรฉrentiellement transparent (Referential Transparency )
- En option : transformer notre systรจme afin de le rendre ยซ event-sourcรฉ (Event Sourcing )
Concepts couverts
- Agilitรฉ et ยซ Software Craftsmanship ยป : lโรฉtat dโesprit associรฉ (humilitรฉ, apprentissage continu, rรจgle du boy scout)
- Clean Code
- Clean Testing (Styles de tests, Test Data Builders, Approval Testing, Property-Based Testing)
- Analyse de code : static / comportementale
- Example mapping
- Test-Driven Development
- Techniques de refactoring: Strangler Pattern, Automatisation, Mikado
- Mutation Testing
- Pair / Mob Programming
- Test dโarchitecture
- Programmation fonctionnelle (Monads et autres functors)
- Clean Architecture
- Architecture Decision Records
- Event-Sourcing (En option)
Les bรฉnรฉfices
Ce que vous รชtes en droit dโattendre aprรจs cette formation :
- Amรฉlioration de la qualitรฉ du code :
- Rรฉduire le nombre de bug
- Meilleure fiabilitรฉ des applications
- Diminution des coรปts de maintenance
- Augmentation de la productivitรฉ de lโรฉquipe avec :
- Test-Driven Development (TDD)
- Refactoring Automatisรฉ
- Domain-Driven Design (DDD)
- Rรฉduction des coรปts ร long terme
- Adaptation aux tendances actuelles et futures
- Amรฉlioration de la collaboration et de la communication
- Rรฉduction des risques
- Meilleure adoption des principes dโamรฉlioration continue
En rรฉsumรฉ, cette formation peut transformer significativement les pratiques de dรฉveloppement, conduisant ร une meilleure qualitรฉ de produit, une plus grande efficacitรฉ opรฉrationnelle, et un avantage concurrentiel sur le marchรฉ
Modus Operandi
Les participants expรฉrimenteront ยซ lโapprentissage par la pratique ยป ร travers diffรฉrentes activitรฉs, le tout dans la bonne humeur et dans le respect de chacun-e :
- Ateliers permettant de stimuler lโintelligence collective.
- Itรฉrer sur un systรจme existant en Mob Programming que nous ferons รฉvoluer ร chaque apprentissage.
Bien que le code du systรจme soit disponible en java et C#, lโensemble des concepts abordรฉs sont agnostiques du langage utilisรฉ au quotidien.
Vous pourrez ainsi les utiliser quel que soit votre stack de dรฉveloppement.
Aprรจs la formation
Toutes les ressources utilisรฉes lors de la formation vous seront fournies et vous serez en mesure de les utiliser dans vos contextes.
En plus de ces 2 journรฉes de formation, nous vous offrons une session dโ1 heure en ligne en individuelle afin de vous coacher sur la mise en place des pratiques et techniques couvertes au sein votre contexte.
Garantie
Si vous ne repartez pas en ayant appris quelque chose de nouveau ou si vous nโรชtes pas complรจtement satisfait du service, vous pouvez obtenir un remboursement complet.
Aucune question ne vous sera posรฉe.