Skip to main content

Catalogue de formations

Retour au calendrier

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.

  • Dรฉveloppeur
  • Tech Lead
  • Architecte
  • Connaรฎtre les bases de la Programmation Orientรฉe Objet.
  • Maรฎtriser un langage de programmation orientรฉ objet comme Java ou C#.
  • รŠtre capable dโ€™รฉcrire et dโ€™exรฉcuter des tests unitaires.

Formation de 2 jours

Entre 4 et 12 personnes

Ces formations peuvent vous intรฉresser